{"version":3,"file":"for-chatbot-generator.js","sources":["webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@icons+material@0.2.4_react@18.3.0/node_modules/@icons/material/CheckIcon.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@icons+material@0.2.4_react@18.3.0/node_modules/@icons/material/UnfoldMoreHorizontalIcon.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/adapters/xhr.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/axios.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/cancel/Cancel.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/cancel/CancelToken.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/cancel/isCancel.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/core/Axios.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/core/InterceptorManager.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/core/buildFullPath.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/core/createError.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/core/dispatchRequest.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/core/enhanceError.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/core/mergeConfig.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/core/settle.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/core/transformData.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/defaults.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/env/data.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/helpers/bind.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/helpers/buildURL.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/helpers/combineURLs.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/helpers/cookies.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/helpers/isAxiosError.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/helpers/parseHeaders.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/helpers/spread.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/helpers/validator.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@0.24.0/node_modules/axios/lib/utils.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/call-bind@1.0.7/node_modules/call-bind/callBound.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/call-bind@1.0.7/node_modules/call-bind/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/classnames@2.3.2/node_modules/classnames/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/clipboard@2.0.0/node_modules/clipboard/dist/clipboard.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@jotforminc+jotform.css@2.3.1/node_modules/@jotforminc/jotform.css/animation.css","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@jotforminc+jotform.css@2.3.1/node_modules/@jotforminc/jotform.css/jotform.css","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/styles/contextMenu.scss","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/styles/index.scss","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/styles/toggle.scss","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/api.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/define-data-property@1.1.4/node_modules/define-data-property/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/define-properties@1.2.1/node_modules/define-properties/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/dom-to-image-more@2.8.0/node_modules/dom-to-image-more/src/dom-to-image-more.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/es-define-property@1.0.0/node_modules/es-define-property/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/es-object-atoms@1.0.0/node_modules/es-object-atoms/RequireObjectCoercible.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/for-each@0.3.3/node_modules/for-each/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/get-intrinsic@1.2.4/node_modules/get-intrinsic/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/gopd@1.0.1/node_modules/gopd/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/has-property-descriptors@1.0.2/node_modules/has-property-descriptors/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/has-proto@1.0.3/node_modules/has-proto/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/has-symbols@1.0.3/node_modules/has-symbols/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/has-symbols@1.0.3/node_modules/has-symbols/shams.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/has@1.0.4/node_modules/has/src/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/is-callable@1.2.7/node_modules/is-callable/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/core/directives.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/core/inputscanner.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/core/options.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/core/output.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/core/pattern.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/core/templatablepattern.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/core/token.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/core/tokenizer.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/core/tokenstream.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/core/whitespacepattern.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/css/beautifier.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/css/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/css/options.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/html/beautifier.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/html/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/html/options.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/html/tokenizer.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/javascript/acorn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/javascript/beautifier.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/javascript/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/javascript/options.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/js-beautify@1.14.2/node_modules/js-beautify/js/src/javascript/tokenizer.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_DataView.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Hash.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_ListCache.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Map.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_MapCache.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Promise.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Set.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_SetCache.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Stack.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Symbol.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Uint8Array.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_WeakMap.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_apply.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayEach.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayFilter.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayLikeKeys.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayMap.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayPush.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arraySome.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assignMergeValue.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assignValue.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assocIndexOf.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseAssign.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseAssignIn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseAssignValue.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseClone.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseCreate.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseEach.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseFor.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseForOwn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetAllKeys.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetTag.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseHasIn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsArguments.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsEqual.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsEqualDeep.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsMap.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsMatch.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsNative.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsSet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsTypedArray.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIteratee.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseKeys.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseKeysIn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseMap.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseMatches.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseMatchesProperty.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseMerge.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseMergeDeep.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseProperty.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_basePropertyDeep.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseRest.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseSetToString.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseTimes.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseToString.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseTrim.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseUnary.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cacheHas.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_castFunction.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_castPath.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneArrayBuffer.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneBuffer.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneDataView.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneRegExp.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneSymbol.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneTypedArray.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_copyArray.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_copyObject.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_copySymbols.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_copySymbolsIn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_coreJsData.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_createAssigner.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_createBaseEach.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_createBaseFor.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_defineProperty.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_equalArrays.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_equalByTag.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_equalObjects.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_freeGlobal.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getAllKeys.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getAllKeysIn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getMapData.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getMatchData.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getNative.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getPrototype.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getRawTag.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getSymbols.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getSymbolsIn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getTag.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getValue.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hasPath.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashClear.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashDelete.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashGet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashHas.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashSet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_initCloneArray.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_initCloneByTag.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_initCloneObject.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isIndex.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isIterateeCall.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isKey.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isKeyable.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isMasked.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isPrototype.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isStrictComparable.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheClear.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheDelete.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheGet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheHas.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheSet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheClear.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheDelete.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheGet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheHas.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheSet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapToArray.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_matchesStrictComparable.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_memoizeCapped.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeCreate.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeKeys.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeKeysIn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nodeUtil.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_objectToString.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_overArg.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_overRest.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_root.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_safeGet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setCacheAdd.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setCacheHas.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setToArray.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setToString.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_shortOut.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackClear.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackDelete.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackGet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackHas.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackSet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stringToPath.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_toKey.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_toSource.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_trimmedEndIndex.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/cloneDeep.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/constant.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/debounce.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/each.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/eq.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/forEach.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/forOwn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/fp.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/fp/_baseConvert.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/fp/_mapping.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/fp/placeholder.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/get.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/hasIn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/identity.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArguments.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArray.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArrayLike.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArrayLikeObject.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isBuffer.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isElement.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isEmpty.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isEqual.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isFunction.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isLength.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isMap.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isNil.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObject.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObjectLike.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isPlainObject.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isSet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isString.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isSymbol.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isTypedArray.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isUndefined.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/keys.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/keysIn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/lodash.min.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/map.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/memoize.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/merge.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/now.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/property.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/stubArray.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/stubFalse.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/throttle.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/toNumber.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/toPlainObject.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/toString.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/material-colors@1.2.6/node_modules/material-colors/dist/colors.es2015.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment-timezone@0.5.43/node_modules/moment-timezone/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment-timezone@0.5.43/node_modules/moment-timezone/moment-timezone.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/af.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ar-dz.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ar-kw.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ar-ly.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ar-ma.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ar-sa.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ar-tn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ar.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/az.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/be.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/bg.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/bm.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/bn-bd.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/bn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/bo.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/br.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/bs.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ca.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/cs.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/cv.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/cy.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/da.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/de-at.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/de-ch.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/de.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/dv.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/el.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/en-au.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/en-ca.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/en-gb.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/en-ie.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/en-il.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/en-in.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/en-nz.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/en-sg.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/eo.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/es-do.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/es-mx.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/es-us.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/es.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/et.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/eu.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/fa.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/fi.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/fil.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/fo.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/fr-ca.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/fr-ch.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/fr.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/fy.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ga.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/gd.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/gl.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/gom-deva.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/gom-latn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/gu.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/he.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/hi.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/hr.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/hu.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/hy-am.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/id.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/is.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/it-ch.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/it.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ja.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/jv.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ka.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/kk.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/km.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/kn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ko.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ku.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ky.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/lb.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/lo.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/lt.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/lv.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/me.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/mi.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/mk.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ml.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/mn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/mr.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ms-my.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ms.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/mt.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/my.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/nb.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ne.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/nl-be.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/nl.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/nn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/oc-lnc.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/pa-in.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/pl.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/pt-br.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/pt.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ro.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ru.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/sd.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/se.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/si.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/sk.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/sl.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/sq.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/sr-cyrl.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/sr.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ss.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/sv.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/sw.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ta.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/te.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/tet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/tg.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/th.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/tk.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/tl-ph.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/tlh.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/tr.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/tzl.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/tzm-latn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/tzm.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ug-cn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/uk.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/ur.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/uz-latn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/uz.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/vi.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/x-pseudo.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/yo.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/zh-cn.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/zh-hk.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/zh-mo.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/locale/zh-tw.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/moment@2.29.4/node_modules/moment/moment.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/node-polyglot@2.4.0/node_modules/node-polyglot/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/object-inspect@1.13.2/node_modules/object-inspect/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/implementation.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/isArguments.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/prop-types@15.7.2/node_modules/prop-types/factoryWithThrowingShims.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/prop-types@15.7.2/node_modules/prop-types/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/prop-types@15.7.2/node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/qs@6.11.2/node_modules/qs/lib/formats.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/qs@6.11.2/node_modules/qs/lib/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/qs@6.11.2/node_modules/qs/lib/parse.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/qs@6.11.2/node_modules/qs/lib/stringify.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/qs@6.11.2/node_modules/qs/lib/utils.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/alpha/Alpha.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/alpha/AlphaPointer.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/block/Block.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/block/BlockSwatches.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/chrome/Chrome.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/chrome/ChromeFields.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/chrome/ChromePointer.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/chrome/ChromePointerCircle.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/circle/Circle.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/circle/CircleSwatch.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/common/Alpha.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/common/Checkboard.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/common/ColorWrap.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/common/EditableInput.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/common/Hue.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/common/Raised.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/common/Saturation.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/common/Swatch.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/common/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/compact/Compact.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/compact/CompactColor.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/compact/CompactFields.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/github/Github.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/github/GithubSwatch.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/hue/Hue.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/hue/HuePointer.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/material/Material.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/photoshop/Photoshop.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/photoshop/PhotoshopButton.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/photoshop/PhotoshopFields.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/photoshop/PhotoshopPointer.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/photoshop/PhotoshopPointerCircle.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/photoshop/PhotoshopPreviews.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/sketch/Sketch.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/sketch/SketchFields.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/sketch/SketchPresetColors.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/slider/Slider.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/slider/SliderPointer.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/slider/SliderSwatch.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/slider/SliderSwatches.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/swatches/Swatches.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/swatches/SwatchesColor.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/swatches/SwatchesGroup.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/components/twitter/Twitter.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/helpers/alpha.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/helpers/checkboard.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/helpers/color.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/helpers/hue.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/helpers/interaction.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/helpers/saturation.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-color@2.18.1_react@18.3.0/node_modules/react-color/lib/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-dom@18.3.0_react@18.3.0/node_modules/react-dom/cjs/react-dom.production.min.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-dom@18.3.0_react@18.3.0/node_modules/react-dom/client.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-dom@18.3.0_react@18.3.0/node_modules/react-dom/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-fast-compare@3.2.2/node_modules/react-fast-compare/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react@18.3.0/node_modules/react/cjs/react-jsx-dev-runtime.production.min.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react@18.3.0/node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react@18.3.0/node_modules/react/cjs/react.production.min.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react@18.3.0/node_modules/react/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react@18.3.0/node_modules/react/jsx-dev-runtime.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react@18.3.0/node_modules/react/jsx-runtime.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/reactcss@1.2.3_react@18.3.0/node_modules/reactcss/lib/autoprefix.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/reactcss@1.2.3_react@18.3.0/node_modules/reactcss/lib/components/active.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/reactcss@1.2.3_react@18.3.0/node_modules/reactcss/lib/components/hover.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/reactcss@1.2.3_react@18.3.0/node_modules/reactcss/lib/flattenNames.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/reactcss@1.2.3_react@18.3.0/node_modules/reactcss/lib/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/reactcss@1.2.3_react@18.3.0/node_modules/reactcss/lib/loop.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/reactcss@1.2.3_react@18.3.0/node_modules/reactcss/lib/mergeClasses.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/set-function-length@1.2.2/node_modules/set-function-length/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/side-channel@1.0.6/node_modules/side-channel/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/string.prototype.trim@1.2.9/node_modules/string.prototype.trim/implementation.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/string.prototype.trim@1.2.9/node_modules/string.prototype.trim/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/string.prototype.trim@1.2.9/node_modules/string.prototype.trim/polyfill.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/string.prototype.trim@1.2.9/node_modules/string.prototype.trim/shim.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/singletonStyleDomAPI.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/tinycolor2@1.4.1/node_modules/tinycolor2/tinycolor.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/use-sync-external-store@1.2.2_react@18.3.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/use-sync-external-store@1.2.2_react@18.3.0/node_modules/use-sync-external-store/shim/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/warning@4.0.3/node_modules/warning/warning.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/es-abstract@1.23.3/node_modules/es-abstract/2024/ToString.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@floating-ui+react@0.26.9_react-dom@18.3.0_react@18.3.0__react@18.3.0/node_modules/@floating-ui/react/dist/floating-ui.react.mjs","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/utils.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/platform/common/utils.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/adapters/fetch.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/index.js","webpack://@jotforminc/umd-bundler/../../../../src/icons/communication/annotation-info-filled.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/general/link-diagonal.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/arrows/angle-right-circle-filled.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/arrows/arrow-up-from-bracket.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/communication/message-question-filled.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/arrows/angle-left.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/general/plus-square-filled.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/general/trash-filled.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/editor/pencil-line-filled.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/general/trash-exclamation-filled.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/general/cloud-arrow-up.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/documents/document-pdf-filled.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/documents/document-doc-filled.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/general/ellipsis-vertical.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/alert-feedback/notification-text-filled.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/arrows/arrows-from-center.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/communication/message-plus-filled.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/general/eye-filled.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/general/exclamation-circle-filled.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/general/gear-filled.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/general/plus-circle-filled.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/arrows/arrow-up-right-from-square-sm.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/arrows/chevron-right.svg","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@swc+helpers@0.5.12/node_modules/@swc/helpers/esm/_define_property.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@swc+helpers@0.5.12/node_modules/@swc/helpers/esm/_object_spread.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@swc+helpers@0.5.12/node_modules/@swc/helpers/esm/_object_without_properties.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@swc+helpers@0.5.12/node_modules/@swc/helpers/esm/_object_without_properties_loose.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@swc+helpers@0.5.12/node_modules/@swc/helpers/esm/_type_of.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@swc+helpers@0.5.12/node_modules/@swc/helpers/esm/_to_property_key.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@swc+helpers@0.5.12/node_modules/@swc/helpers/esm/_to_primitive.js","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/utils/utils.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@swc+helpers@0.5.12/node_modules/@swc/helpers/esm/_object_spread_props.js","webpack://@jotforminc/umd-bundler/../../libs/abtest-manager/src/utils/ActionManager.js","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/constants/index.js","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/store/actions.js","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/store/reducer.js","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/context/WizardContext.js","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/context/WizardProvider.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/class-variance-authority@0.7.0/node_modules/class-variance-authority/dist/index.mjs","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/clsx@2.0.0/node_modules/clsx/dist/clsx.mjs","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@jotforminc+jotform.css@2.3.1/node_modules/@jotforminc/jotform.css/jotform.css?cf97","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/tokens/colors/primary.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/tokens/colors/secondary.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Button/button.cva.ts","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@jotforminc+jotform.css@2.3.1/node_modules/@jotforminc/jotform.css/animation.css?a560","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Indicator/indicator.cva.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Indicator/Indicator.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Indicator/indicator.types.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Button/ButtonContent.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Loader/loader.cva.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Loader/loader.types.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Loader/Loader.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/constants/common.values.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Button/Button.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Button/button.types.ts","webpack://@jotforminc/umd-bundler/../../../../src/icons/arrows/arrow-left.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/arrows/arrow-right.svg","webpack://@jotforminc/umd-bundler/../../libs/translation/src/domHelper.js","webpack://@jotforminc/umd-bundler/../../libs/translation/src/Translation.js","webpack://@jotforminc/umd-bundler/../../libs/translation/src/constants/index.js","webpack://@jotforminc/umd-bundler/../../libs/translation/src/utils.js","webpack://@jotforminc/umd-bundler/../../libs/translation/src/hof.js","webpack://@jotforminc/umd-bundler/../../libs/translation/src/index.js","webpack://@jotforminc/umd-bundler/../../libs/translation/src/global.js","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/hooks/useWizard.js","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/constants/texts.js","webpack://@jotforminc/umd-bundler/../../../../src/icons/general/check.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/general/minus.svg","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Checkbox/checkbox.cva.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/utils/index.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/contexts/index.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Checkbox/checkbox.types.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/shared/ChoiceLabel/choice-label.cva.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/shared/ChoiceLabel/ChoiceLabel.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/shared/ChoiceLabel/choice-label.types.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Checkbox/Checkbox.tsx","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/store/actionCreators.js","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/components/InitialStep.js","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/utils/initAgent.js","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/components/UseCaseStep.js","webpack://@jotforminc/umd-bundler/../../../../src/icons/security/lock-filled.svg","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/constants/common.cva.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Textarea/textarea.cva.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Textarea/textarea.types.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Textarea/Textarea.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Radio/radio.cva.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Radio/radio.types.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Radio/Radio.tsx","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/styles/toggle.scss?4d0b","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/components/Toggle.js","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/components/CustomizationStep.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/nanoid@4.0.2/node_modules/nanoid/index.browser.js","webpack://@jotforminc/umd-bundler/../../libs/uikit/src/utils/constants.js","webpack://@jotforminc/umd-bundler/../../libs/uikit/src/utils/index.js","webpack://@jotforminc/umd-bundler/../../libs/uikit/src/components/CopyButton/index.js","webpack://@jotforminc/umd-bundler/../../../../src/icons/general/copy.svg","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/components/ShareStep.js","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/ColorPicker/color-picker.types.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Input/input.types.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Input/input.cva.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Input/BaseInput.tsx","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@floating-ui+utils@0.2.8/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@floating-ui+react@0.26.9_react-dom@18.3.0_react@18.3.0__react@18.3.0/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@floating-ui+utils@0.2.8/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@floating-ui+core@1.6.8/node_modules/@floating-ui/core/dist/floating-ui.core.mjs","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@floating-ui+dom@1.6.11/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@floating-ui+react-dom@2.1.2_react-dom@18.3.0_react@18.3.0__react@18.3.0/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/tabbable@6.2.0/node_modules/tabbable/dist/index.esm.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@headlessui+react@1.5.0_react-dom@18.3.0_react@18.3.0__react@18.3.0/node_modules/@headlessui/react/dist/headlessui.esm.js","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/ColorPicker/color-picker.cva.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/ColorPicker/ColorPicker.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Input/InputColor.tsx","webpack://@jotforminc/umd-bundler/../../../../src/icons/arrows/angle-down.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/general/magnifying-glass.svg","webpack://@jotforminc/umd-bundler/../../../../src/icons/general/xmark-sm.svg","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Dropdown/dropdown.cva.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Input/InputText.tsx","webpack://@jotforminc/umd-bundler/../../../../src/icons/general/xmark.svg","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Tag/tag.cva.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Tag/Tag.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Tag/tag.types.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Dropdown/Dropdown.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Dropdown/dropdown.types.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Dropdown/DropdownOption.tsx","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/constants/themes.js","webpack://@jotforminc/umd-bundler/../../libs/request-layer/src/request-cache/constants.ts","webpack://@jotforminc/umd-bundler/../../libs/request-layer/src/request-cache/utils.ts","webpack://@jotforminc/umd-bundler/../../libs/request-layer/src/request-cache/index.ts","webpack://@jotforminc/umd-bundler/../../libs/request-layer/src/utils/argumentParser.ts","webpack://@jotforminc/umd-bundler/../../libs/request-layer/src/utils/constructInterceptorConfig.ts","webpack://@jotforminc/umd-bundler/../../libs/request-layer/src/layer/interceptors/index.ts","webpack://@jotforminc/umd-bundler/../../libs/request-layer/src/layer/interceptors/defaultInterceptors/index.ts","webpack://@jotforminc/umd-bundler/../../libs/request-layer/src/layer/interceptors/defaultInterceptors/utils.ts","webpack://@jotforminc/umd-bundler/../../libs/constants/src/platforms/index.js","webpack://@jotforminc/umd-bundler/../../libs/router-bridge/src/jfrouter.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/redux@4.1.2/node_modules/redux/es/redux.js","webpack://@jotforminc/umd-bundler/../../libs/feature-flag/src/components/FeatureFlag/FeatureFlag.js","webpack://@jotforminc/umd-bundler/../../libs/utils/src/platform/platform.js","webpack://@jotforminc/umd-bundler/../../libs/request-layer/src/layer/interceptors/defaultInterceptors/platform/salesforceInterceptors.ts","webpack://@jotforminc/umd-bundler/../../libs/request-layer/src/layer/interceptors/defaultInterceptors/defaultInterceptors.ts","webpack://@jotforminc/umd-bundler/../../libs/request-layer/src/utils/setInterceptors.ts","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/bind.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/core/AxiosError.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/toFormData.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/buildURL.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/core/InterceptorManager.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/defaults/transitional.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/platform/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/platform/browser/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/formDataToJSON.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/defaults/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/parseHeaders.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/core/AxiosHeaders.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/core/transformData.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/cancel/isCancel.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/cancel/CanceledError.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/core/settle.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/speedometer.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/throttle.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/progressEventReducer.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/cookies.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/core/buildFullPath.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/combineURLs.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/core/mergeConfig.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/resolveConfig.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/adapters/xhr.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/parseProtocol.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/composeSignals.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/trackStream.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/adapters/adapters.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/null.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/core/dispatchRequest.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/env/data.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/validator.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/core/Axios.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/cancel/CancelToken.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/axios.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/spread.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/lib/helpers/isAxiosError.js","webpack://@jotforminc/umd-bundler/../../libs/request-layer/src/layer/engines/utils.ts","webpack://@jotforminc/umd-bundler/../../libs/request-layer/src/layer/engines/constants.ts","webpack://@jotforminc/umd-bundler/../../libs/request-layer/src/layer/engines/AxiosEngine.ts","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/axios@1.7.2/node_modules/axios/index.js","webpack://@jotforminc/umd-bundler/../../libs/request-layer/src/layer/utils.ts","webpack://@jotforminc/umd-bundler/../../libs/request-layer/src/layer/index.ts","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/api/index.js","webpack://@jotforminc/umd-bundler/../../libs/request-layer/src/layer/interceptors/customInterceptors/index.ts","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/components/StyleStep.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@preact+signals-core@1.8.0/node_modules/@preact/signals-core/dist/signals-core.module.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@preact+signals-react@2.2.0_react@18.3.0/node_modules/@preact/signals-react/runtime/dist/runtime.module.js","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/app/constants.ts","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/utils/index.ts","webpack://@jotforminc/umd-bundler/../../libs/utils/src/data.js","webpack://@jotforminc/umd-bundler/../../libs/utils/src/moment.js","webpack://@jotforminc/umd-bundler/../../libs/utils/src/misc.js","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/context.tsx","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/assets/Icons.ts","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/components/Icon.tsx","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/components/LineLoader.tsx","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/getBorders.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/enums.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/utils/getVariation.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/dom-utils/getDecorations.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/utils/within.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/modifiers/hide.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/popper.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/modifiers/offset.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/modifiers/flip.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/utils/uniqueBy.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/utils/debounce.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@popperjs+core@2.0.3/node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-popper@2.3.0_@popperjs+core@2.0.3_react-dom@18.3.0_react@18.3.0__react@18.3.0/node_modules/react-popper/lib/esm/utils.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/react-popper@2.3.0_@popperjs+core@2.0.3_react-dom@18.3.0_react@18.3.0__react@18.3.0/node_modules/react-popper/lib/esm/usePopper.js","webpack://@jotforminc/umd-bundler/../../libs/drawer/src/utils/index.js","webpack://@jotforminc/umd-bundler/../../libs/drawer/src/components/MenuComponents/MenuItemSubheader.js","webpack://@jotforminc/umd-bundler/../../libs/drawer/src/components/MenuComponents/MenuItemButton.js","webpack://@jotforminc/umd-bundler/../../libs/drawer/src/components/MenuComponents/MenuItemIcon.js","webpack://@jotforminc/umd-bundler/../../libs/drawer/src/components/MenuComponents/MenuItemTitle.js","webpack://@jotforminc/umd-bundler/../../libs/drawer/src/components/MenuComponents/MenuItemBadge.js","webpack://@jotforminc/umd-bundler/../../libs/drawer/src/components/MenuComponents/MenuItemShortcut.js","webpack://@jotforminc/umd-bundler/../../libs/drawer/src/components/MenuComponents/MenuItem.js","webpack://@jotforminc/umd-bundler/../../libs/drawer/src/components/MenuComponents/MenuList.js","webpack://@jotforminc/umd-bundler/../../libs/drawer/src/components/MenuComponents/MenuDivider.js","webpack://@jotforminc/umd-bundler/../../libs/context-menu/src/components/ContextMenu.js","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/styles/contextMenu.scss?66b9","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/components/materials/MaterialItemContextMenu.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Modal/modal.cva.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Modal/Modal.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Modal/modal.types.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Modal/ModalHeader.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Modal/ModalBody.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Modal/ModalActions.tsx","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/components/modals/MaterialSummaryModal.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Dialog/dialog.cva.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Dialog/Dialog.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Dialog/dialog.types.ts","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Dialog/DialogBody.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Dialog/DialogIcon.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Dialog/DialogTitle.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Dialog/DialogDescription.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Dialog/DialogActions.tsx","webpack://@jotforminc/umd-bundler/../../libs/magnet/src/components/Dialog/DialogCloseButton.tsx","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/components/modals/MaterialConfirmationModal.tsx","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/components/materials/MaterialListItem.tsx","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@swc+helpers@0.5.12/node_modules/@swc/helpers/esm/_extends.js","webpack://@jotforminc/umd-bundler/../../libs/utils/src/dom.js","webpack://@jotforminc/umd-bundler/../../libs/uikit/src/components/Button/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/fuse.js@6.4.6/node_modules/fuse.js/dist/fuse.esm.js","webpack://@jotforminc/umd-bundler/../../libs/uikit/src/utils/hooks.js","webpack://@jotforminc/umd-bundler/../../libs/uikit/src/components/Portal/index.js","webpack://@jotforminc/umd-bundler/../../libs/uikit/src/components/Popover/index.js","webpack://@jotforminc/umd-bundler/../../libs/uikit/src/components/Option/index.js","webpack://@jotforminc/umd-bundler/../../libs/uikit/src/components/OptionGroup/index.js","webpack://@jotforminc/umd-bundler/../../libs/uikit/src/components/TextInput/index.js","webpack://@jotforminc/umd-bundler/../../libs/uikit/src/components/Dropdown/index.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@swc+helpers@0.5.12/node_modules/@swc/helpers/esm/_object_destructuring_empty.js","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/components/Dropdown.tsx","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/components/materials/MaterialSearch.tsx","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/components/FetchLoader.tsx","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/components/materials/MaterialList.tsx","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/components/materials/MaterialSelection.tsx","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/components/InfoBox.tsx","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/components/LabelWrapperItem.tsx","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/types/KnowledgeTypes/QuestionAnswer.tsx","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/types/KnowledgeTypes/URLInput.tsx","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/types/KnowledgeTypes/TrainText.tsx","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/types/KnowledgeTypes/UploadDocument.tsx","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/components/materials/MaterialEditor.tsx","webpack://@jotforminc/umd-bundler/../../libs/agent-builder-components/src/components/materials/KnowledgeBase.tsx","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/components/KnowledgeStep.js","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/components/Wizard.js","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/styles/index.scss?13dd","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/components/ChatbotGenerator.js","webpack://@jotforminc/umd-bundler/../../cdns/for-chatbot-generator/src/index.js","webpack://@jotforminc/umd-bundler/../../libs/chatbot-generator/src/initChatbotGenerator.js"],"sourcesContent":["'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\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar DEFAULT_SIZE = 24;\n\nexports.default = function (_ref) {\n var _ref$fill = _ref.fill,\n fill = _ref$fill === undefined ? 'currentColor' : _ref$fill,\n _ref$width = _ref.width,\n width = _ref$width === undefined ? DEFAULT_SIZE : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === undefined ? DEFAULT_SIZE : _ref$height,\n _ref$style = _ref.style,\n style = _ref$style === undefined ? {} : _ref$style,\n props = _objectWithoutProperties(_ref, ['fill', 'width', 'height', 'style']);\n\n return _react2.default.createElement(\n 'svg',\n _extends({\n viewBox: '0 0 ' + DEFAULT_SIZE + ' ' + DEFAULT_SIZE,\n style: _extends({ fill: fill, width: width, height: height }, style)\n }, props),\n _react2.default.createElement('path', { d: 'M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z' })\n );\n};","'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\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar DEFAULT_SIZE = 24;\n\nexports.default = function (_ref) {\n var _ref$fill = _ref.fill,\n fill = _ref$fill === undefined ? 'currentColor' : _ref$fill,\n _ref$width = _ref.width,\n width = _ref$width === undefined ? DEFAULT_SIZE : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === undefined ? DEFAULT_SIZE : _ref$height,\n _ref$style = _ref.style,\n style = _ref$style === undefined ? {} : _ref$style,\n props = _objectWithoutProperties(_ref, ['fill', 'width', 'height', 'style']);\n\n return _react2.default.createElement(\n 'svg',\n _extends({\n viewBox: '0 0 ' + DEFAULT_SIZE + ' ' + DEFAULT_SIZE,\n style: _extends({ fill: fill, width: width, height: height }, style)\n }, props),\n _react2.default.createElement('path', { d: 'M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z' })\n );\n};","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || defaults.transitional;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","module.exports = {\n \"version\": \"0.24.0\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\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)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\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","/*!\n * clipboard.js v2.0.0\n * https://zenorocha.github.io/clipboard.js\n * \n * Licensed MIT © Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \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// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 3);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, __webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('select'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.select);\n global.clipboardAction = mod.exports;\n }\n})(this, function (module, _select) {\n 'use strict';\n\n var _select2 = _interopRequireDefault(_select);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\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\n var _createClass = function () {\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\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = (0, _select2.default)(this.fakeElem);\n this.copyText();\n }\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = (0, _select2.default)(this.target);\n this.copyText();\n }\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n },\n get: function get() {\n return this._action;\n }\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n },\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n }();\n\n module.exports = ClipboardAction;\n});\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar is = __webpack_require__(6);\nvar delegate = __webpack_require__(5);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (global, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, __webpack_require__(0), __webpack_require__(2), __webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('./clipboard-action'), require('tiny-emitter'), require('good-listener'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.clipboardAction, global.tinyEmitter, global.goodListener);\n global.clipboard = mod.exports;\n }\n})(this, function (module, _clipboardAction, _tinyEmitter, _goodListener) {\n 'use strict';\n\n var _clipboardAction2 = _interopRequireDefault(_clipboardAction);\n\n var _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\n\n var _goodListener2 = _interopRequireDefault(_goodListener);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\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\n var _createClass = function () {\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\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = _typeof(options.container) === 'object' ? options.container : document.body;\n }\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new _clipboardAction2.default({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n }, {\n key: 'defaultText',\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n }(_tinyEmitter2.default);\n\n /**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n function getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n }\n\n module.exports = Clipboard;\n});\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar closest = __webpack_require__(4);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ })\n/******/ ]);\n});","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes jfa-bounce{0%,20%,53%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translate3d(0,0,0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:translate3d(0,0,0) scaleY(.95)}90%{transform:translate3d(0,-4px,0) scaleY(1.02)}}@keyframes jfa-bounce-in{0%,20%,40%,60%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:scale3d(.3,.3,.3)}20%{transform:scale3d(1.1,1.1,1.1)}40%{transform:scale3d(.9,.9,.9)}60%{opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{transform:scale3d(.97,.97,.97)}to{opacity:1;transform:scale3d(1,1,1)}}@keyframes jfa-bounce-in-down{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-150vh,0) scaleY(3)}60%{opacity:1;transform:translate3d(0,25px,0) scaleY(.9)}75%{transform:translate3d(0,-10px,0) scaleY(.95)}90%{transform:translate3d(0,5px,0) scaleY(.985)}to{transform:translate3d(0,0,0)}}@keyframes jfa-bounce-in-left{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-150vw,0,0) scaleX(3)}60%{opacity:1;transform:translate3d(25px,0,0) scaleX(1)}75%{transform:translate3d(-10px,0,0) scaleX(.98)}90%{transform:translate3d(5px,0,0) scaleX(.995)}to{transform:translate3d(0,0,0)}}@keyframes jfa-bounce-in-right{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(150vw,0,0) scaleX(3)}60%{opacity:1;transform:translate3d(-25px,0,0) scaleX(1)}75%{transform:translate3d(10px,0,0) scaleX(.98)}90%{transform:translate3d(-5px,0,0) scaleX(.995)}to{transform:translate3d(0,0,0)}}@keyframes jfa-bounce-in-top{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,150vh,0) scaleY(5)}60%{opacity:1;transform:translate3d(0,-20px,0) scaleY(.9)}75%{transform:translate3d(0,10px,0) scaleY(.95)}90%{transform:translate3d(0,-5px,0) scaleY(.985)}to{transform:translate3d(0,0,0)}}@keyframes jfa-bounce-out{20%{transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;transform:scale3d(1.1,1.1,1.1)}to{opacity:0;transform:scale3d(.3,.3,.3);pointer-events:none}}@keyframes jfa-bounce-out-down{20%{transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;transform:translate3d(0,300%,0) scaleY(3);pointer-events:none}}@keyframes jfa-bounce-out-left{20%{opacity:1;transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;transform:translate3d(-300%,0,0) scaleX(2);pointer-events:none}}@keyframes jfa-bounce-out-right{20%{opacity:1;transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;transform:translate3d(300%,0,0) scaleX(2);pointer-events:none}}@keyframes jfa-bounce-out-top{20%{transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;transform:translate3d(0,-300%,0) scaleY(3);pointer-events:none}}@keyframes jfa-fade-in{0%{opacity:0}to{opacity:1}}@keyframes jfa-fade-in-down{0%{opacity:0;transform:translate3d(0,-100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes jfa-fade-in-full-down{0%{opacity:0;transform:translate3d(0,-200%,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes jfa-fade-in-left{0%{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes jfa-fade-in-full-left{0%{opacity:0;transform:translate3d(-200%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes jfa-fade-in-right{0%{opacity:0;transform:translate3d(100%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes jfa-fade-in-full-right{0%{opacity:0;transform:translate3d(200%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes jfa-fade-in-top{0%{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes jfa-fade-in-full-top{0%{opacity:0;transform:translate3d(0,200%,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes jfa-fade-out{0%{opacity:1}to{opacity:0;pointer-events:none}}@keyframes jfa-fade-out-down{0%{opacity:1}to{opacity:0;transform:translate3d(0,100%,0);pointer-events:none}}@keyframes jfa-fade-out-full-down{0%{opacity:1}to{opacity:0;transform:translate3d(0,200%,0);pointer-events:none}}@keyframes jfa-fade-out-left{0%{opacity:1}to{opacity:0;transform:translate3d(-100%,0,0);pointer-events:none}}@keyframes jfa-fade-out-full-left{0%{opacity:1}to{opacity:0;transform:translate3d(-200%,0,0);pointer-events:none}}@keyframes jfa-fade-out-right{0%{opacity:1}to{opacity:0;transform:translate3d(100%,0,0);pointer-events:none}}@keyframes jfa-fade-out-full-right{0%{opacity:1}to{opacity:0;transform:translate3d(200%,0,0);pointer-events:none}}@keyframes jfa-fade-out-top{0%{opacity:1}to{opacity:0;transform:translate3d(0,-100%,0);pointer-events:none}}@keyframes jfa-fade-out-full-top{0%{opacity:1}to{opacity:0;transform:translate3d(0,-200%,0);pointer-events:none}}@keyframes jfa-flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes jfa-pulse{0%,to{transform:scale3d(1,1,1)}50%{transform:scale3d(1.05,1.05,1.05)}}@keyframes jfa-pulse-twice{0%,to{transform:scale3d(1,1,1)}50%{transform:scale3d(1.05,1.05,1.05)}}@keyframes jfa-rotate-in{0%{transform:rotate3d(0,0,1,-200deg);opacity:0}to{transform:translate3d(0,0,0);opacity:1}}@keyframes jfa-rotate-out{0%{opacity:1}to{transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes jfa-shake{0%,to{transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{transform:translate3d(-10px,0,0)}20%,40%,60%,80%{transform:translate3d(10px,0,0)}}@keyframes jfa-slide-in-down{0%{transform:translate(0,-100%);visibility:visible}to{transform:translate(0,0)}}@keyframes jfa-slide-in-left{0%{transform:translate(-100%,0);visibility:visible}to{transform:translate(0,0,0)}}@keyframes jfa-slide-in-right{0%{transform:translate(100%,0);visibility:visible}to{transform:translate(0,0)}}@keyframes jfa-slide-in-top{0%{transform:translate(0,100%);visibility:visible}to{transform:translate(0,0,0)}}@keyframes jfa-slide-out-down{0%{transform:translate(0,0)}to{visibility:hidden;transform:translate(0,100%);pointer-events:none}}@keyframes jfa-slide-out-left{0%{transform:translate(0,0)}to{visibility:hidden;transform:translate(-100%,0);pointer-events:none}}@keyframes jfa-slide-out-right{0%{transform:translate(0,0)}to{visibility:hidden;transform:translate(100%,0);pointer-events:none}}@keyframes jfa-slide-out-top{0%{transform:translate(0,0)}to{visibility:hidden;transform:translate(0,-100%);pointer-events:none}}@keyframes jfa-spin{to{transform:rotate(1turn)}}@keyframes jfa-spin-loader{to{transform:rotate(1turn)}}@keyframes jfa-zoom-in{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes jfa-zoom-out{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0;pointer-events:none}}.anim{animation-duration:.5s;animation-fill-mode:forwards}.bounce{animation-name:jfa-bounce;transform-origin:center bottom}.fade-in{animation-name:jfa-fade-in}.fade-in-top{animation-name:jfa-fade-in-top}.fade-out-right{animation-name:jfa-fade-out-right}.pulse{animation-name:jfa-pulse;animation-timing-function:ease-in-out}.spin{animation-name:jfa-spin;transform-origin:center}.spin-loader{animation-name:jfa-spin-loader;animation-iteration-count:infinite;transform-origin:center}.anim-150{animation-duration:.15s}.anim-delay-700{animation-delay:.7s}.anim-700{animation-duration:.7s}.anim-count-infinite{animation-iteration-count:infinite}.anim-backwards{animation-fill-mode:backwards}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@property --bg-opacity{syntax:\\\"\\\";inherits:false;initial-value:1}@property --color-opacity{syntax:\\\"\\\";inherits:false;initial-value:1}@property --border-opacity{syntax:\\\"\\\";inherits:false;initial-value:1}@property --border-t-opacity{syntax:\\\"\\\";inherits:false;initial-value:1}@property --border-r-opacity{syntax:\\\"\\\";inherits:false;initial-value:1}@property --border-b-opacity{syntax:\\\"\\\";inherits:false;initial-value:1}@property --border-l-opacity{syntax:\\\"\\\";inherits:false;initial-value:1}@property --border-x-opacity{syntax:\\\"\\\";inherits:false;initial-value:1}@property --border-y-opacity{syntax:\\\"\\\";inherits:false;initial-value:1}@property --outline-opacity{syntax:\\\"\\\";inherits:false;initial-value:1}@property --divide-opacity{syntax:\\\"\\\";inherits:false;initial-value:1}@property --fill-opacity{syntax:\\\"\\\";inherits:false;initial-value:1}@property --stroke-opacity{syntax:\\\"\\\";inherits:false;initial-value:1}[class*=border],[class*=divide]>*{border:0 solid}[class*=outline]{outline:0 solid}:root{--jfv-transparent:transparent;--jfv-current:currentColor;--jfv-white:#ffffff;--jfv-black:#000000;--jfv-blue-100:#edf8ff;--jfv-blue-200:#77cfff;--jfv-blue-300:#4dbefc;--jfv-blue-400:#0099ff;--jfv-blue-500:#0075E3;--jfv-blue-600:#0066c3;--jfv-green-100:#edfed1;--jfv-green-200:#cbfb7b;--jfv-green-300:#a8eb38;--jfv-green-400:#7fca00;--jfv-green-500:#64b200;--jfv-green-600:#529300;--jfv-yellow-100:#fff5d2;--jfv-yellow-200:#ffdc7b;--jfv-yellow-300:#ffc42c;--jfv-yellow-400:#ffb629;--jfv-yellow-500:#f9a400;--jfv-yellow-600:#f49200;--jfv-orange-100:#ffe4cc;--jfv-orange-200:#fec48e;--jfv-orange-300:#ffa34f;--jfv-orange-400:#ff7b1c;--jfv-orange-500:#ff6100;--jfv-orange-600:#e55300;--jfv-red-100:#fef2f2;--jfv-red-200:#fecaca;--jfv-red-300:#f87171;--jfv-red-400:#dc2626;--jfv-red-500:#c90909;--jfv-red-600:#ab0101;--jfv-purple-100:#f3e2ff;--jfv-purple-200:#e0b7fd;--jfv-purple-300:#bf78f0;--jfv-purple-400:#9c4dd3;--jfv-purple-500:#892dca;--jfv-purple-600:#6915a4;--jfv-navy-10:#F9F9FF;--jfv-navy-25:#F3F3FE;--jfv-navy-50:#E3E5F5;--jfv-navy-75:#dadef3;--jfv-navy-100:#c8ceed;--jfv-navy-200:#979dc6;--jfv-navy-300:#6C73A8;--jfv-navy-400:#454e80;--jfv-navy-500:#343c6a;--jfv-navy-600:#252d5b;--jfv-navy-700:#0a1551;--jfv-navy-800:#091141;--jfv-navy-900:#050c34;--jfv-gray-25:#F1F1F4;--jfv-gray-50:#E2E3E9;--jfv-gray-75:#D3D6DE;--jfv-gray-100:#BFC3CE;--jfv-gray-200:#A0A6B6;--jfv-gray-300:#7F859C;--jfv-gray-400:#4C536F;--jfv-gray-500:#434A60;--jfv-gray-600:#33384a;--jfv-gray-700:#292D3C;--jfv-gray-800:#131620;--jfv-gray-900:#08090B;--jfv-analytics-light:#B9BEDF;--jfv-analytics-default:#8F96CC;--jfv-analytics-dark:#737CBF;--jfv-approvals-light:#008F75;--jfv-approvals-default:#007862;--jfv-approvals-dark:#006653;--jfv-apps-light:#bf78f0;--jfv-apps-default:#9c4dd3;--jfv-apps-dark:#892dca;--jfv-forms-light:#ff7b1c;--jfv-forms-default:#ff6100;--jfv-forms-dark:#e55300;--jfv-inbox-light:#59BED2;--jfv-inbox-default:#249BB4;--jfv-inbox-dark:#1989A0;--jfv-pages-light:#5887BF;--jfv-pages-default:#034F96;--jfv-pages-dark:#03294C;--jfv-pdf-light:#628EFF;--jfv-pdf-default:#3E62C8;--jfv-pdf-dark:#2F4EAD;--jfv-reports-light:#728DDD;--jfv-reports-default:#5369AB;--jfv-reports-dark:#344067;--jfv-sign-light:#94CD2A;--jfv-sign-default:#7BB60F;--jfv-sign-dark:#6DA900;--jfv-tables-light:#37C768;--jfv-tables-default:#049E38;--jfv-tables-dark:#007B2A;--jfv-teams-light:#303C77;--jfv-teams-default:#18235C;--jfv-teams-dark:#0C1540}.stroke{stroke-width:1px}.cursor-pointer{cursor:pointer}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-auto{cursor:auto}.font-circular{font-family:Circular,BlinkMacSystemFont,Helvetica}.bg-no-repeat{background-repeat:no-repeat}.bg-size-cover{background-size:cover}.bg-center{background-position:center}.bg-left-bottom{background-position:left bottom}.bg-right-top{background-position:right top}.object-cover{-o-object-fit:cover;object-fit:cover}.dir-ltr{direction:ltr}.transform{--translate-x:0;--translate-y:0;--scale:1;--rotate:0;transform:translateX(var(--translate-x)) translateY(var(--translate-y)) scale(var(--scale)) rotate(var(--rotate))}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.list-inside{list-style-position:inside}.gradient-to-t{--direction:to top;background:linear-gradient(var(--direction),var(--from-color),var(--to-color))}.gradient-to-r{--direction:to right}.gradient-to-l,.gradient-to-r{background:linear-gradient(var(--direction),var(--from-color),var(--to-color))}.gradient-to-l{--direction:to left}.from-transparent{--from-color:transparent}.to-transparent{--to-color:transparent}.from-navy-50{--from-color:#E3E5F5}.to-navy-50{--to-color:#E3E5F5}.from-navy-900{--from-color:#050c34}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.appearance-none::-webkit-inner-spin-button,.appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number].appearance-none{-moz-appearance:textfield}.resize-none{resize:none}.resize-both{resize:both}.resize-x{resize:horizontal}.resize-y{resize:vertical}.break-all{word-break:break-all}.break-keep{word-break:keep-all}.break-word{word-break:break-word}.line-clamp-1,.line-clamp-2{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.line-clamp-2{-webkit-line-clamp:2}.border-0{border-width:0}[dir=rtl] .rtl\\\\:border-l-0{border-left-width:0}.border-t-0{border-top-width:0}.border-2{border-width:.125rem}.border-b-2{border-bottom-width:.125rem}.border-4{border-width:.25rem}.border-l-4{border-left-width:.25rem}.border-b-4{border-bottom-width:.25rem}.border{border-width:1px}.border-l{border-left-width:1px}.border-r,[dir=rtl] .rtl\\\\:border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-b{border-bottom-width:1px}.divide-y>:not(.hidden)~:not(.hidden){border-top-width:1px}.fill-white{fill:rgba(255,255,255,1);fill:rgba(255,255,255,var(--fill-opacity,1))}.fill-blue-300{fill:rgba(77,190,252,1);fill:rgba(77,190,252,var(--fill-opacity,1))}.fill-blue-400{fill:rgba(0,153,255,1);fill:rgba(0,153,255,var(--fill-opacity,1))}.fill-blue-500{fill:rgba(0,117,227,1);fill:rgba(0,117,227,var(--fill-opacity,1))}.fill-blue-600{fill:rgba(0,102,195,1);fill:rgba(0,102,195,var(--fill-opacity,1))}.fill-green-500{fill:rgba(100,178,0,1);fill:rgba(100,178,0,var(--fill-opacity,1))}.fill-yellow-100{fill:rgba(255,245,210,1);fill:rgba(255,245,210,var(--fill-opacity,1))}.fill-yellow-400{fill:rgba(255,182,41,1);fill:rgba(255,182,41,var(--fill-opacity,1))}.fill-yellow-500{fill:rgba(249,164,0,1);fill:rgba(249,164,0,var(--fill-opacity,1))}.fill-yellow-600{fill:rgba(244,146,0,1);fill:rgba(244,146,0,var(--fill-opacity,1))}.fill-red-400{fill:rgba(220,38,38,1);fill:rgba(220,38,38,var(--fill-opacity,1))}.fill-purple-400{fill:rgba(156,77,211,1);fill:rgba(156,77,211,var(--fill-opacity,1))}.divide-navy-100>:not(.hidden)~:not(.hidden){border-color:rgba(200,206,237,1);border-color:rgba(200,206,237,var(--divide-opacity,1))}.fill-navy-100{fill:rgba(200,206,237,1);fill:rgba(200,206,237,var(--fill-opacity,1))}.fill-navy-300{fill:rgba(108,115,168,1);fill:rgba(108,115,168,var(--fill-opacity,1))}.fill-navy-500{fill:rgba(52,60,106,1);fill:rgba(52,60,106,var(--fill-opacity,1))}.fill-navy-700{fill:rgba(10,21,81,1);fill:rgba(10,21,81,var(--fill-opacity,1))}.fill-gray-500{fill:rgba(67,74,96,1);fill:rgba(67,74,96,var(--fill-opacity,1))}.fill-pdf-default{fill:rgba(62,98,200,1);fill:rgba(62,98,200,var(--fill-opacity,1))}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-scroll{overflow:scroll}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.overflow-visible{overflow:visible}.overscroll-contain{overscroll-behavior:contain}.absolute{position:absolute}.relative{position:relative}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.text-center{text-align:center}.text-left{text-align:left}.text-right,[dir=rtl] .rtl\\\\:text-right{text-align:right}.text-capitalize{text-transform:capitalize}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.float-left,[dir=rtl] .rtl\\\\:float-left{float:left}.float-right,[dir=rtl] .rtl\\\\:float-right{float:right}.p-0{padding:0}.px-0{padding-left:0;padding-right:0}.py-0{padding-top:0;padding-bottom:0}.pb-0{padding-bottom:0}.pr-0,[dir=rtl] .rtl\\\\:pr-0{padding-right:0}.p-1{padding:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.pt-1{padding-top:.25rem}.pb-1{padding-bottom:.25rem}.pl-1{padding-left:.25rem}.pr-1{padding-right:.25rem}.p-2{padding:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pt-2{padding-top:.5rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pr-2{padding-right:.5rem}.p-3{padding:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pt-3{padding-top:.75rem}.pb-3{padding-bottom:.75rem}.pl-3,[dir=rtl] .rtl\\\\:pl-3{padding-left:.75rem}.pr-3{padding-right:.75rem}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pt-4{padding-top:1rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.pr-4,[dir=rtl] .rtl\\\\:pr-4{padding-right:1rem}.p-5{padding:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pt-5{padding-top:1.25rem}.pb-5{padding-bottom:1.25rem}.p-6{padding:1.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pt-6{padding-top:1.5rem}.pb-6{padding-bottom:1.5rem}.pl-6{padding-left:1.5rem}.pr-6{padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.pt-7{padding-top:1.75rem}.pl-7{padding-left:1.75rem}.pr-7{padding-right:1.75rem}.p-8{padding:2rem}.px-8{padding-left:2rem;padding-right:2rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pt-8{padding-top:2rem}.pb-8{padding-bottom:2rem}.pl-8{padding-left:2rem}.pr-8,[dir=rtl] .rtl\\\\:pr-8{padding-right:2rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.pt-9{padding-top:2.25rem}.pr-9{padding-right:2.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.pt-10{padding-top:2.5rem}.pl-10{padding-left:2.5rem}.pr-10{padding-right:2.5rem}.p-12{padding:3rem}.px-12{padding-left:3rem;padding-right:3rem}.pt-12{padding-top:3rem}.pb-12{padding-bottom:3rem}.pl-12{padding-left:3rem}.p-14{padding:3.5rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.pt-14{padding-top:3.5rem}.pl-14,[dir=rtl] .rtl\\\\:pl-14{padding-left:3.5rem}.pr-14{padding-right:3.5rem}.p-16{padding:4rem}.pt-16{padding-top:4rem}.py-18{padding-top:4.5rem;padding-bottom:4.5rem}.pb-20{padding-bottom:5rem}.pt-24{padding-top:6rem}.pb-24{padding-bottom:6rem}[dir=rtl] .rtl\\\\:pl-28{padding-left:7rem}.pr-28{padding-right:7rem}.pt-36{padding-top:9rem}.pb-36{padding-bottom:9rem}.p-px{padding:1px}.py-px{padding-top:1px;padding-bottom:1px}.p-0\\\\.5{padding:.125rem}.py-0\\\\.5{padding-top:.125rem;padding-bottom:.125rem}.pt-0\\\\.5{padding-top:.125rem}.p-1\\\\.5{padding:.375rem}.px-1\\\\.5{padding-left:.375rem;padding-right:.375rem}.py-1\\\\.5{padding-top:.375rem;padding-bottom:.375rem}.pl-1\\\\.5{padding-left:.375rem}.pr-1\\\\.5{padding-right:.375rem}.p-2\\\\.5{padding:.625rem}.px-2\\\\.5{padding-left:.625rem;padding-right:.625rem}.py-2\\\\.5{padding-top:.625rem;padding-bottom:.625rem}.pl-2\\\\.5{padding-left:.625rem}.p-3\\\\.5{padding:.875rem}.pb-3\\\\.5{padding-bottom:.875rem}.pl-3\\\\.5{padding-left:.875rem}.space-x-1>*+*{margin-left:.25rem}.space-y-1>*+*{margin-top:.25rem}.space-x-2>*+*{margin-left:.5rem}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.text-15{font-size:15px;line-height:20px}.text-xxs{font-size:.625rem;line-height:.75rem}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.125rem}.text-md{font-size:1rem;line-height:1.25rem}.text-lg{font-size:1.125rem;line-height:1.375rem}.text-xl{font-size:1.25rem;line-height:1.5rem}.text-2xl{font-size:1.5rem;line-height:1.75rem}.text-3xl{font-size:1.75rem;line-height:2rem}.text-4xl{font-size:2rem;line-height:2.5rem}.text-5xl{font-size:2.25rem;line-height:2.75rem}.text-6xl{font-size:2.5rem;line-height:2.875rem}.text-8xl{font-size:3.375rem;line-height:3.75rem}.line-height-xxs{line-height:.75rem}.line-height-xs{line-height:1rem}.line-height-sm{line-height:1.125rem}.line-height-md{line-height:1.25rem}.line-height-lg{line-height:1.375rem}.line-height-xl{line-height:1.5rem}.line-height-2xl{line-height:1.75rem}.line-height-3xl{line-height:2rem}.line-height-4xl{line-height:2.5rem}.line-height-6xl{line-height:2.875rem}.tracking-xxxs{letter-spacing:-.021em}.tracking-sm{letter-spacing:-.014em}.tracking-md{letter-spacing:-.011em}.tracking-lg{letter-spacing:-.006em}.tracking-xl{letter-spacing:.01em}.pointer-events-none{pointer-events:none}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.justify-self-auto{justify-self:auto}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.justify-self-stretch{justify-self:stretch}.self-auto{align-self:auto}.self-center{align-self:center}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-stretch{align-self:stretch}.self-baseline{align-self:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-top{vertical-align:text-top}.min-w-0{min-width:0}.min-h-0{min-height:0}.min-w-2{min-width:.5rem}.min-w-4{min-width:1rem}.min-h-4{min-height:1rem}.min-w-5{min-width:1.25rem}.min-h-5{min-height:1.25rem}.min-w-6{min-width:1.5rem}.min-h-6{min-height:1.5rem}.min-w-8{min-width:2rem}.min-h-8{min-height:2rem}.min-w-10{min-width:2.5rem}.min-h-10{min-height:2.5rem}.min-w-12{min-width:3rem}.min-h-12{min-height:3rem}.min-w-14{min-width:3.5rem}.min-w-16{min-width:4rem}.min-w-18{min-width:4.5rem}.min-h-18{min-height:4.5rem}.min-w-20{min-width:5rem}.min-h-24{min-height:6rem}.min-w-28{min-width:7rem}.min-h-32{min-height:8rem}.min-h-36{min-height:9rem}.min-w-40{min-width:10rem}.min-h-40{min-height:10rem}.min-w-44{min-width:11rem}.min-h-48{min-height:12rem}.min-w-52{min-width:13rem}.min-w-56{min-width:14rem}.min-w-60{min-width:15rem}.min-h-60{min-height:15rem}.min-w-64{min-width:16rem}.min-h-64{min-height:16rem}.min-w-68{min-width:17rem}.min-w-76{min-width:19rem}.min-h-76{min-height:19rem}.min-h-80{min-height:20rem}.min-w-92{min-width:23rem}.min-w-100{min-width:25rem}.min-h-100{min-height:25rem}.min-w-auto{min-width:auto}.min-h-sm{min-height:40rem}.min-w-1\\\\/2{min-width:50%}.min-w-1\\\\/3{min-width:33.333333%}.min-w-full{min-width:100%}.min-h-90vh{min-height:90vh}.max-w-0{max-width:0}.max-h-0{max-height:0}.max-h-4{max-height:1rem}.max-w-5{max-width:1.25rem}.max-h-5{max-height:1.25rem}.max-w-6{max-width:1.5rem}.max-h-6{max-height:1.5rem}.max-h-8{max-height:2rem}.max-w-16{max-width:4rem}.max-h-16{max-height:4rem}.max-w-18{max-width:4.5rem}.max-w-20{max-width:5rem}.max-h-28{max-height:7rem}.max-w-32{max-width:8rem}.max-h-32{max-height:8rem}.max-h-36{max-height:9rem}.max-w-40{max-width:10rem}.max-w-48{max-width:12rem}.max-h-48{max-height:12rem}.max-w-52{max-width:13rem}.max-w-56{max-width:14rem}.max-w-60{max-width:15rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-w-68{max-width:17rem}.max-w-72{max-width:18rem}.max-h-72{max-height:18rem}.max-w-76{max-width:19rem}.max-h-76{max-height:19rem}.max-w-80{max-width:20rem}.max-h-80{max-height:20rem}.max-w-84{max-width:21rem}.max-h-84{max-height:21rem}.max-w-88{max-width:22rem}.max-w-92{max-width:23rem}.max-h-92{max-height:23rem}.max-w-96{max-width:24rem}.max-w-100{max-width:25rem}.max-w-104{max-width:26rem}.max-w-112{max-width:28rem}.max-w-116{max-width:29rem}.max-w-120{max-width:30rem}.max-h-120{max-height:30rem}.max-h-xs{max-height:30rem}.max-w-sm{max-width:40rem}.max-w-md{max-width:48rem}.max-h-md{max-height:48rem}.max-w-lg{max-width:64rem}.max-w-xl{max-width:80rem}.max-w-xxl{max-width:87.5rem}.max-w-2\\\\/3{max-width:66.666667%}.max-w-4\\\\/5{max-width:80%}.max-w-5\\\\/6{max-width:83.333333%}.max-w-5\\\\/12{max-width:41.666667%}.max-w-10\\\\/12{max-width:83.333333%}.max-w-11\\\\/12{max-width:91.666667%}.max-w-full{max-width:100%}.max-h-full{max-height:100%}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-h-max{max-height:-moz-max-content;max-height:max-content}.max-h-30vh{max-height:30vh}.max-h-40vh{max-height:40vh}.max-h-100vh{max-height:100vh}.max-w-90vw{max-width:90vw}.cols-none{grid-template-columns:repeat(none,minmax(0,1fr))}.cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.col-start-auto{grid-column-start:auto}.col-end-auto{grid-column-end:auto}.col-start-1{grid-column-start:1}.col-end-1{grid-column-end:1}.col-start-2{grid-column-start:2}.col-end-2{grid-column-end:2}.col-start-3{grid-column-start:3}.col-end-3{grid-column-end:3}.col-start-4{grid-column-start:4}.col-end-4{grid-column-end:4}.col-start-5{grid-column-start:5}.col-end-5{grid-column-end:5}.col-start-6{grid-column-start:6}.col-end-6{grid-column-end:6}.col-start-7{grid-column-start:7}.col-end-7{grid-column-end:7}.col-start-8{grid-column-start:8}.col-end-8{grid-column-end:8}.col-start-9{grid-column-start:9}.col-end-9{grid-column-end:9}.col-start-10{grid-column-start:10}.col-end-10{grid-column-end:10}.col-start-11{grid-column-start:11}.col-end-11{grid-column-end:11}.col-start-12{grid-column-start:12}.col-end-12{grid-column-end:12}.row-start-auto{grid-row-start:auto}.row-end-auto{grid-row-end:auto}.row-start-1{grid-row-start:1}.row-end-1{grid-row-end:1}.row-start-2{grid-row-start:2}.row-end-2{grid-row-end:2}.row-start-3{grid-row-start:3}.row-end-3{grid-row-end:3}.row-start-4{grid-row-start:4}.row-end-4{grid-row-end:4}.row-start-5{grid-row-start:5}.row-end-5{grid-row-end:5}.row-start-6{grid-row-start:6}.row-end-6{grid-row-end:6}.row-start-7{grid-row-start:7}.row-end-7{grid-row-end:7}.row-start-8{grid-row-start:8}.row-end-8{grid-row-end:8}.row-start-9{grid-row-start:9}.row-end-9{grid-row-end:9}.row-start-10{grid-row-start:10}.row-end-10{grid-row-end:10}.row-start-11{grid-row-start:11}.row-end-11{grid-row-end:11}.row-start-12{grid-row-start:12}.row-end-12{grid-row-end:12}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-9{gap:2.25rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-14{gap:3.5rem}.gap-0\\\\.5{gap:.125rem}.gap-1\\\\.5{gap:.375rem}.gap-3\\\\.5{gap:.875rem}.visible{visibility:visible}.invisible{visibility:hidden}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-col-reverse{flex-direction:column-reverse}.shrink-0{flex-shrink:0}.shrink-1{flex-shrink:1}.grow-0{flex-grow:0}.grow-1{flex-grow:1}.flex-0{flex-grow:0;flex-shrink:0}.flex-1{flex-grow:1;flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.order-first{order:-9999}.order-last{order:9999}.order-none{order:0}.z-0{z-index:0}.z-1{z-index:1}.-z-1{z-index:-1}.z-2{z-index:2}.z-3{z-index:3}.z-4{z-index:4}.z-5{z-index:5}.z-6{z-index:6}.z-8{z-index:8}.z-9{z-index:9}.bg-transparent,.hover\\\\:bg-transparent:hover{background-color:transparent}.border-transparent{border-color:transparent}.border-b-transparent{border-bottom-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.outline-transparent{outline-color:transparent}.color-current{color:currentColor}.border-current{border-color:currentColor}.border-r-current{border-right-color:currentColor}.bg-white,.hover\\\\:bg-white:hover{background-color:rgba(255,255,255,1);background-color:rgba(255,255,255,var(--bg-opacity,1))}.color-white,.hover\\\\:color-white:hover{color:rgba(255,255,255,1);color:rgba(255,255,255,var(--color-opacity,1))}.border-white{border-color:rgba(255,255,255,1);border-color:rgba(255,255,255,var(--border-opacity,1))}.border-r-white{border-right-color:rgba(255,255,255,1);border-right-color:rgba(255,255,255,var(--border-r-opacity,1))}.bg-black{background-color:rgba(0,0,0,1);background-color:rgba(0,0,0,var(--bg-opacity,1))}.color-black,.hover\\\\:color-black:hover{color:rgba(0,0,0,1);color:rgba(0,0,0,var(--color-opacity,1))}.bg-blue-100,.hover\\\\:bg-blue-100:hover{background-color:rgba(237,248,255,1);background-color:rgba(237,248,255,var(--bg-opacity,1))}.color-blue-100,.hover\\\\:color-blue-100:hover{color:rgba(237,248,255,1);color:rgba(237,248,255,var(--color-opacity,1))}.border-blue-100,.hover\\\\:border-blue-100:hover{border-color:rgba(237,248,255,1);border-color:rgba(237,248,255,var(--border-opacity,1))}.outline-blue-100{outline-color:rgba(237,248,255,1);outline-color:rgba(237,248,255,var(--outline-opacity,1))}.bg-blue-200{background-color:rgba(119,207,255,1);background-color:rgba(119,207,255,var(--bg-opacity,1))}.border-blue-200{border-color:rgba(119,207,255,1);border-color:rgba(119,207,255,var(--border-opacity,1))}.border-b-blue-200{border-bottom-color:rgba(119,207,255,1);border-bottom-color:rgba(119,207,255,var(--border-b-opacity,1))}.border-t-blue-200{border-top-color:rgba(119,207,255,1);border-top-color:rgba(119,207,255,var(--border-t-opacity,1))}.border-x-blue-200{border-left-color:rgba(119,207,255,1);border-left-color:rgba(119,207,255,var(--border-x-opacity,1));border-right-color:rgba(119,207,255,1);border-right-color:rgba(119,207,255,var(--border-x-opacity,1))}.outline-blue-200{outline-color:rgba(119,207,255,1);outline-color:rgba(119,207,255,var(--outline-opacity,1))}.bg-blue-300,.hover\\\\:bg-blue-300:hover{background-color:rgba(77,190,252,1);background-color:rgba(77,190,252,var(--bg-opacity,1))}.color-blue-300,.hover\\\\:color-blue-300:hover{color:rgba(77,190,252,1);color:rgba(77,190,252,var(--color-opacity,1))}.border-blue-300,.hover\\\\:border-blue-300:hover{border-color:rgba(77,190,252,1);border-color:rgba(77,190,252,var(--border-opacity,1))}.bg-blue-400,.hover\\\\:bg-blue-400:hover{background-color:rgba(0,153,255,1);background-color:rgba(0,153,255,var(--bg-opacity,1))}.color-blue-400,.hover\\\\:color-blue-400:hover{color:rgba(0,153,255,1);color:rgba(0,153,255,var(--color-opacity,1))}.border-blue-400,.hover\\\\:border-blue-400:hover{border-color:rgba(0,153,255,1);border-color:rgba(0,153,255,var(--border-opacity,1))}.bg-blue-500,.hover\\\\:bg-blue-500:hover{background-color:rgba(0,117,227,1);background-color:rgba(0,117,227,var(--bg-opacity,1))}.color-blue-500,.hover\\\\:color-blue-500:hover{color:rgba(0,117,227,1);color:rgba(0,117,227,var(--color-opacity,1))}.border-blue-500,.hover\\\\:border-blue-500:hover{border-color:rgba(0,117,227,1);border-color:rgba(0,117,227,var(--border-opacity,1))}.border-b-blue-500,.hover\\\\:border-b-blue-500:hover{border-bottom-color:rgba(0,117,227,1);border-bottom-color:rgba(0,117,227,var(--border-b-opacity,1))}.outline-blue-500{outline-color:rgba(0,117,227,1);outline-color:rgba(0,117,227,var(--outline-opacity,1))}.bg-blue-600,.group:hover .group-hover\\\\:bg-blue-600,.hover\\\\:bg-blue-600:hover{background-color:rgba(0,102,195,1);background-color:rgba(0,102,195,var(--bg-opacity,1))}.color-blue-600,.hover\\\\:color-blue-600:hover{color:rgba(0,102,195,1);color:rgba(0,102,195,var(--color-opacity,1))}.border-blue-600,.hover\\\\:border-blue-600:hover{border-color:rgba(0,102,195,1);border-color:rgba(0,102,195,var(--border-opacity,1))}.outline-blue-600{outline-color:rgba(0,102,195,1);outline-color:rgba(0,102,195,var(--outline-opacity,1))}.bg-green-100,.hover\\\\:bg-green-100:hover{background-color:rgba(237,254,209,1);background-color:rgba(237,254,209,var(--bg-opacity,1))}.color-green-100,.hover\\\\:color-green-100:hover{color:rgba(237,254,209,1);color:rgba(237,254,209,var(--color-opacity,1))}.border-green-100,.hover\\\\:border-green-100:hover{border-color:rgba(237,254,209,1);border-color:rgba(237,254,209,var(--border-opacity,1))}.bg-green-200,.hover\\\\:bg-green-200:hover{background-color:rgba(203,251,123,1);background-color:rgba(203,251,123,var(--bg-opacity,1))}.color-green-200,.hover\\\\:color-green-200:hover{color:rgba(203,251,123,1);color:rgba(203,251,123,var(--color-opacity,1))}.border-green-200,.hover\\\\:border-green-200:hover{border-color:rgba(203,251,123,1);border-color:rgba(203,251,123,var(--border-opacity,1))}.outline-green-200{outline-color:rgba(203,251,123,1);outline-color:rgba(203,251,123,var(--outline-opacity,1))}.bg-green-300,.hover\\\\:bg-green-300:hover{background-color:rgba(168,235,56,1);background-color:rgba(168,235,56,var(--bg-opacity,1))}.color-green-300{color:rgba(168,235,56,1);color:rgba(168,235,56,var(--color-opacity,1))}.border-green-300{border-color:rgba(168,235,56,1);border-color:rgba(168,235,56,var(--border-opacity,1))}.bg-green-400{background-color:rgba(127,202,0,1);background-color:rgba(127,202,0,var(--bg-opacity,1))}.color-green-400{color:rgba(127,202,0,1);color:rgba(127,202,0,var(--color-opacity,1))}.bg-green-500,.hover\\\\:bg-green-500:hover{background-color:rgba(100,178,0,1);background-color:rgba(100,178,0,var(--bg-opacity,1))}.color-green-500,.hover\\\\:color-green-500:hover{color:rgba(100,178,0,1);color:rgba(100,178,0,var(--color-opacity,1))}.border-green-500,.hover\\\\:border-green-500:hover{border-color:rgba(100,178,0,1);border-color:rgba(100,178,0,var(--border-opacity,1))}.bg-green-600,.hover\\\\:bg-green-600:hover{background-color:rgba(82,147,0,1);background-color:rgba(82,147,0,var(--bg-opacity,1))}.color-green-600,.hover\\\\:color-green-600:hover{color:rgba(82,147,0,1);color:rgba(82,147,0,var(--color-opacity,1))}.border-green-600,.hover\\\\:border-green-600:hover{border-color:rgba(82,147,0,1);border-color:rgba(82,147,0,var(--border-opacity,1))}.outline-green-600{outline-color:rgba(82,147,0,1);outline-color:rgba(82,147,0,var(--outline-opacity,1))}.bg-yellow-100{background-color:rgba(255,245,210,1);background-color:rgba(255,245,210,var(--bg-opacity,1))}.bg-yellow-200{background-color:rgba(255,220,123,1);background-color:rgba(255,220,123,var(--bg-opacity,1))}.outline-yellow-200{outline-color:rgba(255,220,123,1);outline-color:rgba(255,220,123,var(--outline-opacity,1))}.color-yellow-300{color:rgba(255,196,44,1);color:rgba(255,196,44,var(--color-opacity,1))}.border-yellow-300{border-color:rgba(255,196,44,1);border-color:rgba(255,196,44,var(--border-opacity,1))}.bg-yellow-400,.hover\\\\:bg-yellow-400:hover{background-color:rgba(255,182,41,1);background-color:rgba(255,182,41,var(--bg-opacity,1))}.color-yellow-400,.hover\\\\:color-yellow-400:hover{color:rgba(255,182,41,1);color:rgba(255,182,41,var(--color-opacity,1))}.border-yellow-400,.hover\\\\:border-yellow-400:hover{border-color:rgba(255,182,41,1);border-color:rgba(255,182,41,var(--border-opacity,1))}.color-yellow-500{color:rgba(249,164,0,1);color:rgba(249,164,0,var(--color-opacity,1))}.border-yellow-500{border-color:rgba(249,164,0,1);border-color:rgba(249,164,0,var(--border-opacity,1))}.outline-yellow-500{outline-color:rgba(249,164,0,1);outline-color:rgba(249,164,0,var(--outline-opacity,1))}.bg-yellow-600{background-color:rgba(244,146,0,1);background-color:rgba(244,146,0,var(--bg-opacity,1))}.color-yellow-600{color:rgba(244,146,0,1);color:rgba(244,146,0,var(--color-opacity,1))}.bg-orange-100{background-color:rgba(255,228,204,1);background-color:rgba(255,228,204,var(--bg-opacity,1))}.bg-orange-200{background-color:rgba(254,196,142,1);background-color:rgba(254,196,142,var(--bg-opacity,1))}.bg-orange-300,.hover\\\\:bg-orange-300:hover{background-color:rgba(255,163,79,1);background-color:rgba(255,163,79,var(--bg-opacity,1))}.color-orange-300{color:rgba(255,163,79,1);color:rgba(255,163,79,var(--color-opacity,1))}.bg-orange-400{background-color:rgba(255,123,28,1);background-color:rgba(255,123,28,var(--bg-opacity,1))}.border-orange-400{border-color:rgba(255,123,28,1);border-color:rgba(255,123,28,var(--border-opacity,1))}.bg-orange-500{background-color:rgba(255,97,0,1);background-color:rgba(255,97,0,var(--bg-opacity,1))}.color-orange-500{color:rgba(255,97,0,1);color:rgba(255,97,0,var(--color-opacity,1))}.border-orange-500{border-color:rgba(255,97,0,1);border-color:rgba(255,97,0,var(--border-opacity,1))}.color-orange-600{color:rgba(229,83,0,1);color:rgba(229,83,0,var(--color-opacity,1))}.bg-red-100{background-color:rgba(254,242,242,1);background-color:rgba(254,242,242,var(--bg-opacity,1))}.color-red-100{color:rgba(254,242,242,1);color:rgba(254,242,242,var(--color-opacity,1))}.border-red-100{border-color:rgba(254,242,242,1);border-color:rgba(254,242,242,var(--border-opacity,1))}.bg-red-200{background-color:rgba(254,202,202,1);background-color:rgba(254,202,202,var(--bg-opacity,1))}.color-red-200{color:rgba(254,202,202,1);color:rgba(254,202,202,var(--color-opacity,1))}.border-red-200{border-color:rgba(254,202,202,1);border-color:rgba(254,202,202,var(--border-opacity,1))}.outline-red-200{outline-color:rgba(254,202,202,1);outline-color:rgba(254,202,202,var(--outline-opacity,1))}.bg-red-300{background-color:rgba(248,113,113,1);background-color:rgba(248,113,113,var(--bg-opacity,1))}.color-red-300{color:rgba(248,113,113,1);color:rgba(248,113,113,var(--color-opacity,1))}.border-red-300{border-color:rgba(248,113,113,1);border-color:rgba(248,113,113,var(--border-opacity,1))}.bg-red-400{background-color:rgba(220,38,38,1);background-color:rgba(220,38,38,var(--bg-opacity,1))}.color-red-400{color:rgba(220,38,38,1);color:rgba(220,38,38,var(--color-opacity,1))}.border-red-400{border-color:rgba(220,38,38,1);border-color:rgba(220,38,38,var(--border-opacity,1))}.outline-red-400{outline-color:rgba(220,38,38,1);outline-color:rgba(220,38,38,var(--outline-opacity,1))}.bg-red-500{background-color:rgba(201,9,9,1);background-color:rgba(201,9,9,var(--bg-opacity,1))}.color-red-500{color:rgba(201,9,9,1);color:rgba(201,9,9,var(--color-opacity,1))}.border-red-500{border-color:rgba(201,9,9,1);border-color:rgba(201,9,9,var(--border-opacity,1))}.bg-red-600{background-color:rgba(171,1,1,1);background-color:rgba(171,1,1,var(--bg-opacity,1))}.color-red-600{color:rgba(171,1,1,1);color:rgba(171,1,1,var(--color-opacity,1))}.border-red-600{border-color:rgba(171,1,1,1);border-color:rgba(171,1,1,var(--border-opacity,1))}.bg-purple-100{background-color:rgba(243,226,255,1);background-color:rgba(243,226,255,var(--bg-opacity,1))}.bg-purple-300{background-color:rgba(191,120,240,1);background-color:rgba(191,120,240,var(--bg-opacity,1))}.bg-purple-400{background-color:rgba(156,77,211,1);background-color:rgba(156,77,211,var(--bg-opacity,1))}.color-purple-400{color:rgba(156,77,211,1);color:rgba(156,77,211,var(--color-opacity,1))}.color-purple-500{color:rgba(137,45,202,1);color:rgba(137,45,202,var(--color-opacity,1))}.color-purple-600{color:rgba(105,21,164,1);color:rgba(105,21,164,var(--color-opacity,1))}.bg-navy-10{background-color:rgba(249,249,255,1);background-color:rgba(249,249,255,var(--bg-opacity,1))}.bg-navy-25{background-color:rgba(243,243,254,1);background-color:rgba(243,243,254,var(--bg-opacity,1))}.border-navy-25{border-color:rgba(243,243,254,1);border-color:rgba(243,243,254,var(--border-opacity,1))}.bg-navy-50{background-color:rgba(227,229,245,1);background-color:rgba(227,229,245,var(--bg-opacity,1))}.color-navy-50{color:rgba(227,229,245,1);color:rgba(227,229,245,var(--color-opacity,1))}.border-navy-50{border-color:rgba(227,229,245,1);border-color:rgba(227,229,245,var(--border-opacity,1))}.border-b-navy-50{border-bottom-color:rgba(227,229,245,1);border-bottom-color:rgba(227,229,245,var(--border-b-opacity,1))}.border-t-navy-50{border-top-color:rgba(227,229,245,1);border-top-color:rgba(227,229,245,var(--border-t-opacity,1))}.outline-navy-50{outline-color:rgba(227,229,245,1);outline-color:rgba(227,229,245,var(--outline-opacity,1))}.bg-navy-75{background-color:rgba(218,222,243,1);background-color:rgba(218,222,243,var(--bg-opacity,1))}.color-navy-75{color:rgba(218,222,243,1);color:rgba(218,222,243,var(--color-opacity,1))}.border-navy-75{border-color:rgba(218,222,243,1);border-color:rgba(218,222,243,var(--border-opacity,1))}.bg-navy-100{background-color:rgba(200,206,237,1);background-color:rgba(200,206,237,var(--bg-opacity,1))}.color-navy-100{color:rgba(200,206,237,1);color:rgba(200,206,237,var(--color-opacity,1))}.border-navy-100{border-color:rgba(200,206,237,1);border-color:rgba(200,206,237,var(--border-opacity,1))}.bg-navy-200{background-color:rgba(151,157,198,1);background-color:rgba(151,157,198,var(--bg-opacity,1))}.color-navy-200{color:rgba(151,157,198,1);color:rgba(151,157,198,var(--color-opacity,1))}.border-navy-200{border-color:rgba(151,157,198,1);border-color:rgba(151,157,198,var(--border-opacity,1))}.bg-navy-300{background-color:rgba(108,115,168,1);background-color:rgba(108,115,168,var(--bg-opacity,1))}.color-navy-300{color:rgba(108,115,168,1);color:rgba(108,115,168,var(--color-opacity,1))}.border-t-navy-300{border-top-color:rgba(108,115,168,1);border-top-color:rgba(108,115,168,var(--border-t-opacity,1))}.color-navy-400{color:rgba(69,78,128,1);color:rgba(69,78,128,var(--color-opacity,1))}.bg-navy-500{background-color:rgba(52,60,106,1);background-color:rgba(52,60,106,var(--bg-opacity,1))}.color-navy-500{color:rgba(52,60,106,1);color:rgba(52,60,106,var(--color-opacity,1))}.border-navy-500{border-color:rgba(52,60,106,1);border-color:rgba(52,60,106,var(--border-opacity,1))}.bg-navy-600{background-color:rgba(37,45,91,1);background-color:rgba(37,45,91,var(--bg-opacity,1))}.color-navy-600{color:rgba(37,45,91,1);color:rgba(37,45,91,var(--color-opacity,1))}.bg-navy-700{background-color:rgba(10,21,81,1);background-color:rgba(10,21,81,var(--bg-opacity,1))}.color-navy-700{color:rgba(10,21,81,1);color:rgba(10,21,81,var(--color-opacity,1))}.border-navy-700{border-color:rgba(10,21,81,1);border-color:rgba(10,21,81,var(--border-opacity,1))}.border-r-navy-700{border-right-color:rgba(10,21,81,1);border-right-color:rgba(10,21,81,var(--border-r-opacity,1))}.bg-navy-800{background-color:rgba(9,17,65,1);background-color:rgba(9,17,65,var(--bg-opacity,1))}.color-navy-800{color:rgba(9,17,65,1);color:rgba(9,17,65,var(--color-opacity,1))}.bg-navy-900{background-color:rgba(5,12,52,1);background-color:rgba(5,12,52,var(--bg-opacity,1))}.color-navy-900{color:rgba(5,12,52,1);color:rgba(5,12,52,var(--color-opacity,1))}.bg-gray-25{background-color:rgba(241,241,244,1);background-color:rgba(241,241,244,var(--bg-opacity,1))}.border-gray-25{border-color:rgba(241,241,244,1);border-color:rgba(241,241,244,var(--border-opacity,1))}.border-b-gray-25{border-bottom-color:rgba(241,241,244,1);border-bottom-color:rgba(241,241,244,var(--border-b-opacity,1))}.border-t-gray-25{border-top-color:rgba(241,241,244,1);border-top-color:rgba(241,241,244,var(--border-t-opacity,1))}.bg-gray-50{background-color:rgba(226,227,233,1);background-color:rgba(226,227,233,var(--bg-opacity,1))}.color-gray-50{color:rgba(226,227,233,1);color:rgba(226,227,233,var(--color-opacity,1))}.border-gray-50{border-color:rgba(226,227,233,1);border-color:rgba(226,227,233,var(--border-opacity,1))}.bg-gray-75{background-color:rgba(211,214,222,1);background-color:rgba(211,214,222,var(--bg-opacity,1))}.color-gray-100{color:rgba(191,195,206,1);color:rgba(191,195,206,var(--color-opacity,1))}.border-gray-100{border-color:rgba(191,195,206,1);border-color:rgba(191,195,206,var(--border-opacity,1))}.border-b-gray-100{border-bottom-color:rgba(191,195,206,1);border-bottom-color:rgba(191,195,206,var(--border-b-opacity,1))}.bg-gray-200{background-color:rgba(160,166,182,1);background-color:rgba(160,166,182,var(--bg-opacity,1))}.color-gray-200{color:rgba(160,166,182,1);color:rgba(160,166,182,var(--color-opacity,1))}.border-gray-200{border-color:rgba(160,166,182,1);border-color:rgba(160,166,182,var(--border-opacity,1))}.bg-gray-300{background-color:rgba(127,133,156,1);background-color:rgba(127,133,156,var(--bg-opacity,1))}.color-gray-300{color:rgba(127,133,156,1);color:rgba(127,133,156,var(--color-opacity,1))}.border-gray-300{border-color:rgba(127,133,156,1);border-color:rgba(127,133,156,var(--border-opacity,1))}.bg-gray-400{background-color:rgba(76,83,111,1);background-color:rgba(76,83,111,var(--bg-opacity,1))}.color-gray-400{color:rgba(76,83,111,1);color:rgba(76,83,111,var(--color-opacity,1))}.border-b-gray-400{border-bottom-color:rgba(76,83,111,1);border-bottom-color:rgba(76,83,111,var(--border-b-opacity,1))}.bg-gray-500{background-color:rgba(67,74,96,1);background-color:rgba(67,74,96,var(--bg-opacity,1))}.color-gray-500{color:rgba(67,74,96,1);color:rgba(67,74,96,var(--color-opacity,1))}.border-gray-500{border-color:rgba(67,74,96,1);border-color:rgba(67,74,96,var(--border-opacity,1))}.outline-gray-500{outline-color:rgba(67,74,96,1);outline-color:rgba(67,74,96,var(--outline-opacity,1))}.bg-gray-600{background-color:rgba(51,56,74,1);background-color:rgba(51,56,74,var(--bg-opacity,1))}.color-gray-600{color:rgba(51,56,74,1);color:rgba(51,56,74,var(--color-opacity,1))}.border-gray-600{border-color:rgba(51,56,74,1);border-color:rgba(51,56,74,var(--border-opacity,1))}.bg-gray-700{background-color:rgba(41,45,60,1);background-color:rgba(41,45,60,var(--bg-opacity,1))}.color-gray-700{color:rgba(41,45,60,1);color:rgba(41,45,60,var(--color-opacity,1))}.border-gray-700{border-color:rgba(41,45,60,1);border-color:rgba(41,45,60,var(--border-opacity,1))}.bg-gray-800{background-color:rgba(19,22,32,1);background-color:rgba(19,22,32,var(--bg-opacity,1))}.color-gray-800{color:rgba(19,22,32,1);color:rgba(19,22,32,var(--color-opacity,1))}.bg-gray-900{background-color:rgba(8,9,11,1);background-color:rgba(8,9,11,var(--bg-opacity,1))}.bg-analytics-default{background-color:rgba(143,150,204,1);background-color:rgba(143,150,204,var(--bg-opacity,1))}.color-analytics-default{color:rgba(143,150,204,1);color:rgba(143,150,204,var(--color-opacity,1))}.bg-approvals-default{background-color:rgba(0,120,98,1);background-color:rgba(0,120,98,var(--bg-opacity,1))}.color-approvals-default{color:rgba(0,120,98,1);color:rgba(0,120,98,var(--color-opacity,1))}.border-b-approvals-default{border-bottom-color:rgba(0,120,98,1);border-bottom-color:rgba(0,120,98,var(--border-b-opacity,1))}.bg-apps-default{background-color:rgba(156,77,211,1);background-color:rgba(156,77,211,var(--bg-opacity,1))}.color-apps-default{color:rgba(156,77,211,1);color:rgba(156,77,211,var(--color-opacity,1))}.border-b-apps-default{border-bottom-color:rgba(156,77,211,1);border-bottom-color:rgba(156,77,211,var(--border-b-opacity,1))}.bg-forms-default,.hover\\\\:bg-orange-500:hover{background-color:rgba(255,97,0,1);background-color:rgba(255,97,0,var(--bg-opacity,1))}.color-forms-default,.hover\\\\:color-orange-500:hover{color:rgba(255,97,0,1);color:rgba(255,97,0,var(--color-opacity,1))}.hover\\\\:border-orange-500:hover{border-color:rgba(255,97,0,1);border-color:rgba(255,97,0,var(--border-opacity,1))}.border-b-forms-default{border-bottom-color:rgba(255,97,0,1);border-bottom-color:rgba(255,97,0,var(--border-b-opacity,1))}.bg-inbox-default{background-color:rgba(36,155,180,1);background-color:rgba(36,155,180,var(--bg-opacity,1))}.color-inbox-default{color:rgba(36,155,180,1);color:rgba(36,155,180,var(--color-opacity,1))}.bg-pages-light{background-color:rgba(88,135,191,1);background-color:rgba(88,135,191,var(--bg-opacity,1))}.bg-pages-default{background-color:rgba(3,79,150,1);background-color:rgba(3,79,150,var(--bg-opacity,1))}.color-pages-default{color:rgba(3,79,150,1);color:rgba(3,79,150,var(--color-opacity,1))}.border-b-pages-default{border-bottom-color:rgba(3,79,150,1);border-bottom-color:rgba(3,79,150,var(--border-b-opacity,1))}.bg-pdf-light{background-color:rgba(98,142,255,1);background-color:rgba(98,142,255,var(--bg-opacity,1))}.bg-pdf-default{background-color:rgba(62,98,200,1);background-color:rgba(62,98,200,var(--bg-opacity,1))}.color-pdf-default{color:rgba(62,98,200,1);color:rgba(62,98,200,var(--color-opacity,1))}.border-pdf-default{border-color:rgba(62,98,200,1);border-color:rgba(62,98,200,var(--border-opacity,1))}.border-b-pdf-default{border-bottom-color:rgba(62,98,200,1);border-bottom-color:rgba(62,98,200,var(--border-b-opacity,1))}.bg-reports-default{background-color:rgba(83,105,171,1);background-color:rgba(83,105,171,var(--bg-opacity,1))}.color-reports-default{color:rgba(83,105,171,1);color:rgba(83,105,171,var(--color-opacity,1))}.bg-sign-light{background-color:rgba(148,205,42,1);background-color:rgba(148,205,42,var(--bg-opacity,1))}.bg-sign-default{background-color:rgba(123,182,15,1);background-color:rgba(123,182,15,var(--bg-opacity,1))}.color-sign-default{color:rgba(123,182,15,1);color:rgba(123,182,15,var(--color-opacity,1))}.border-b-sign-default{border-bottom-color:rgba(123,182,15,1);border-bottom-color:rgba(123,182,15,var(--border-b-opacity,1))}.bg-sign-dark{background-color:rgba(109,169,0,1);background-color:rgba(109,169,0,var(--bg-opacity,1))}.bg-tables-light{background-color:rgba(55,199,104,1);background-color:rgba(55,199,104,var(--bg-opacity,1))}.bg-tables-default{background-color:rgba(4,158,56,1);background-color:rgba(4,158,56,var(--bg-opacity,1))}.color-tables-default{color:rgba(4,158,56,1);color:rgba(4,158,56,var(--color-opacity,1))}.bg-teams-default{background-color:rgba(24,35,92,1);background-color:rgba(24,35,92,var(--bg-opacity,1))}.color-teams-default{color:rgba(24,35,92,1);color:rgba(24,35,92,var(--color-opacity,1))}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.block{display:block}.flex{display:flex}.hidden{display:none}.grid{display:grid}.inline{display:inline}.hiddenjf{display:none}.shadow-xs{box-shadow:0 1px 2px 0#1018280d}.shadow-sm{box-shadow:0 1px 2px 0#1018280f,0 1px 3px 0#1018281a}.shadow-md{box-shadow:0 2px 4px -2px #1018280f,0 4px 8px -2px #1018281a}.shadow-lg{box-shadow:0 4px 6px -2px #1018280d,0 12px 16px -4px #1018281a}.shadow-xl{box-shadow:0 8px 8px -4px #1018280a,0 20px 24px -4px #1018281a}.shadow-2xl{box-shadow:0 24px 48px -12px #10182840}.shadow-light-xs{box-shadow:0 0 1px #252d5b0a,0 2px 4px #545f6f29}.shadow-light-sm{box-shadow:0 0 2px #252d5b0a,0 4px 8px #545f6f29}.shadow-light-md{box-shadow:0 2px 4px #252d5b0a,0 8px 16px #545f6f29}.shadow-light-xl{box-shadow:0 2px 8px #252d5b14,0 20px 32px #545f6f3d}.shadow-dark-md{box-shadow:0 2px 4px #0a0b0d0a,0 8px 16px #0a0b0d52}.shadow-dark-lg{box-shadow:0 2px 8px #0a0b0d0a,0 16px 24px #0a0b0d52}.hover\\\\:bg-red-100:hover{background-color:rgba(254,242,242,1);background-color:rgba(254,242,242,var(--bg-opacity,1))}.hover\\\\:color-red-100:hover{color:rgba(254,242,242,1);color:rgba(254,242,242,var(--color-opacity,1))}.hover\\\\:border-red-100:hover{border-color:rgba(254,242,242,1);border-color:rgba(254,242,242,var(--border-opacity,1))}.hover\\\\:bg-red-200:hover{background-color:rgba(254,202,202,1);background-color:rgba(254,202,202,var(--bg-opacity,1))}.hover\\\\:color-red-200:hover{color:rgba(254,202,202,1);color:rgba(254,202,202,var(--color-opacity,1))}.hover\\\\:border-red-200:hover{border-color:rgba(254,202,202,1);border-color:rgba(254,202,202,var(--border-opacity,1))}.hover\\\\:bg-red-400:hover{background-color:rgba(220,38,38,1);background-color:rgba(220,38,38,var(--bg-opacity,1))}.hover\\\\:color-red-400:hover{color:rgba(220,38,38,1);color:rgba(220,38,38,var(--color-opacity,1))}.hover\\\\:border-red-400:hover{border-color:rgba(220,38,38,1);border-color:rgba(220,38,38,var(--border-opacity,1))}.hover\\\\:bg-red-500:hover{background-color:rgba(201,9,9,1);background-color:rgba(201,9,9,var(--bg-opacity,1))}.hover\\\\:border-red-500:hover{border-color:rgba(201,9,9,1);border-color:rgba(201,9,9,var(--border-opacity,1))}.hover\\\\:bg-red-600:hover{background-color:rgba(171,1,1,1);background-color:rgba(171,1,1,var(--bg-opacity,1))}.hover\\\\:color-red-600:hover{color:rgba(171,1,1,1);color:rgba(171,1,1,var(--color-opacity,1))}.hover\\\\:border-red-600:hover{border-color:rgba(171,1,1,1);border-color:rgba(171,1,1,var(--border-opacity,1))}.hover\\\\:bg-purple-300:hover{background-color:rgba(191,120,240,1);background-color:rgba(191,120,240,var(--bg-opacity,1))}.hover\\\\:bg-navy-10:hover{background-color:rgba(249,249,255,1);background-color:rgba(249,249,255,var(--bg-opacity,1))}.hover\\\\:bg-navy-25:hover{background-color:rgba(243,243,254,1);background-color:rgba(243,243,254,var(--bg-opacity,1))}.hover\\\\:bg-navy-50:hover{background-color:rgba(227,229,245,1);background-color:rgba(227,229,245,var(--bg-opacity,1))}.hover\\\\:color-navy-50:hover{color:rgba(227,229,245,1);color:rgba(227,229,245,var(--color-opacity,1))}.hover\\\\:border-navy-50:hover{border-color:rgba(227,229,245,1);border-color:rgba(227,229,245,var(--border-opacity,1))}.hover\\\\:bg-navy-75:hover{background-color:rgba(218,222,243,1);background-color:rgba(218,222,243,var(--bg-opacity,1))}.hover\\\\:bg-navy-100:hover{background-color:rgba(200,206,237,1);background-color:rgba(200,206,237,var(--bg-opacity,1))}.hover\\\\:color-navy-100:hover{color:rgba(200,206,237,1);color:rgba(200,206,237,var(--color-opacity,1))}.hover\\\\:border-navy-100:hover{border-color:rgba(200,206,237,1);border-color:rgba(200,206,237,var(--border-opacity,1))}.hover\\\\:bg-navy-200:hover{background-color:rgba(151,157,198,1);background-color:rgba(151,157,198,var(--bg-opacity,1))}.hover\\\\:border-navy-200:hover{border-color:rgba(151,157,198,1);border-color:rgba(151,157,198,var(--border-opacity,1))}.hover\\\\:bg-navy-300:hover{background-color:rgba(108,115,168,1);background-color:rgba(108,115,168,var(--bg-opacity,1))}.hover\\\\:color-navy-300:hover{color:rgba(108,115,168,1);color:rgba(108,115,168,var(--color-opacity,1))}.hover\\\\:border-navy-300:hover{border-color:rgba(108,115,168,1);border-color:rgba(108,115,168,var(--border-opacity,1))}.hover\\\\:color-navy-400:hover{color:rgba(69,78,128,1);color:rgba(69,78,128,var(--color-opacity,1))}.hover\\\\:color-navy-500:hover{color:rgba(52,60,106,1);color:rgba(52,60,106,var(--color-opacity,1))}.hover\\\\:border-navy-500:hover{border-color:rgba(52,60,106,1);border-color:rgba(52,60,106,var(--border-opacity,1))}.hover\\\\:bg-navy-700:hover{background-color:rgba(10,21,81,1);background-color:rgba(10,21,81,var(--bg-opacity,1))}.hover\\\\:color-navy-700:hover{color:rgba(10,21,81,1);color:rgba(10,21,81,var(--color-opacity,1))}.hover\\\\:border-navy-700:hover{border-color:rgba(10,21,81,1);border-color:rgba(10,21,81,var(--border-opacity,1))}.hover\\\\:bg-gray-25:hover{background-color:rgba(241,241,244,1);background-color:rgba(241,241,244,var(--bg-opacity,1))}.hover\\\\:color-gray-100:hover{color:rgba(191,195,206,1);color:rgba(191,195,206,var(--color-opacity,1))}.hover\\\\:border-gray-100:hover{border-color:rgba(191,195,206,1);border-color:rgba(191,195,206,var(--border-opacity,1))}.hover\\\\:color-gray-200:hover{color:rgba(160,166,182,1);color:rgba(160,166,182,var(--color-opacity,1))}.hover\\\\:border-gray-200:hover{border-color:rgba(160,166,182,1);border-color:rgba(160,166,182,var(--border-opacity,1))}.hover\\\\:color-gray-300:hover{color:rgba(127,133,156,1);color:rgba(127,133,156,var(--color-opacity,1))}.hover\\\\:border-gray-300:hover{border-color:rgba(127,133,156,1);border-color:rgba(127,133,156,var(--border-opacity,1))}.hover\\\\:bg-gray-400:hover{background-color:rgba(76,83,111,1);background-color:rgba(76,83,111,var(--bg-opacity,1))}.hover\\\\:bg-gray-500:hover{background-color:rgba(67,74,96,1);background-color:rgba(67,74,96,var(--bg-opacity,1))}.hover\\\\:color-gray-500:hover{color:rgba(67,74,96,1);color:rgba(67,74,96,var(--color-opacity,1))}.hover\\\\:border-gray-500:hover{border-color:rgba(67,74,96,1);border-color:rgba(67,74,96,var(--border-opacity,1))}.hover\\\\:bg-gray-600:hover{background-color:rgba(51,56,74,1);background-color:rgba(51,56,74,var(--bg-opacity,1))}.hover\\\\:bg-gray-700:hover{background-color:rgba(41,45,60,1);background-color:rgba(41,45,60,var(--bg-opacity,1))}.hover\\\\:color-gray-700:hover{color:rgba(41,45,60,1);color:rgba(41,45,60,var(--color-opacity,1))}.hover\\\\:border-gray-700:hover{border-color:rgba(41,45,60,1);border-color:rgba(41,45,60,var(--border-opacity,1))}.hover\\\\:bg-gray-800:hover{background-color:rgba(19,22,32,1);background-color:rgba(19,22,32,var(--bg-opacity,1))}.hover\\\\:bg-analytics-dark:hover{background-color:rgba(115,124,191,1);background-color:rgba(115,124,191,var(--bg-opacity,1))}.hover\\\\:bg-approvals-default:hover{background-color:rgba(0,120,98,1);background-color:rgba(0,120,98,var(--bg-opacity,1))}.hover\\\\:border-b-approvals-default:hover{border-bottom-color:rgba(0,120,98,1);border-bottom-color:rgba(0,120,98,var(--border-b-opacity,1))}.hover\\\\:bg-approvals-dark:hover{background-color:rgba(0,102,83,1);background-color:rgba(0,102,83,var(--bg-opacity,1))}.hover\\\\:bg-apps-default:hover{background-color:rgba(156,77,211,1);background-color:rgba(156,77,211,var(--bg-opacity,1))}.hover\\\\:border-b-apps-default:hover{border-bottom-color:rgba(156,77,211,1);border-bottom-color:rgba(156,77,211,var(--border-b-opacity,1))}.hover\\\\:bg-apps-dark:hover{background-color:rgba(137,45,202,1);background-color:rgba(137,45,202,var(--bg-opacity,1))}.hover\\\\:bg-forms-default:hover{background-color:rgba(255,97,0,1);background-color:rgba(255,97,0,var(--bg-opacity,1))}.hover\\\\:border-b-forms-default:hover{border-bottom-color:rgba(255,97,0,1);border-bottom-color:rgba(255,97,0,var(--border-b-opacity,1))}.hover\\\\:bg-forms-dark:hover{background-color:rgba(229,83,0,1);background-color:rgba(229,83,0,var(--bg-opacity,1))}.hover\\\\:bg-inbox-dark:hover{background-color:rgba(25,137,160,1);background-color:rgba(25,137,160,var(--bg-opacity,1))}.hover\\\\:bg-pages-light:hover{background-color:rgba(88,135,191,1);background-color:rgba(88,135,191,var(--bg-opacity,1))}.hover\\\\:bg-pages-default:hover{background-color:rgba(3,79,150,1);background-color:rgba(3,79,150,var(--bg-opacity,1))}.hover\\\\:border-b-pages-default:hover{border-bottom-color:rgba(3,79,150,1);border-bottom-color:rgba(3,79,150,var(--border-b-opacity,1))}.hover\\\\:bg-pages-dark:hover{background-color:rgba(3,41,76,1);background-color:rgba(3,41,76,var(--bg-opacity,1))}.hover\\\\:bg-pdf-default:hover{background-color:rgba(62,98,200,1);background-color:rgba(62,98,200,var(--bg-opacity,1))}.hover\\\\:border-b-pdf-default:hover{border-bottom-color:rgba(62,98,200,1);border-bottom-color:rgba(62,98,200,var(--border-b-opacity,1))}.hover\\\\:bg-pdf-dark:hover{background-color:rgba(47,78,173,1);background-color:rgba(47,78,173,var(--bg-opacity,1))}.hover\\\\:bg-reports-dark:hover{background-color:rgba(52,64,103,1);background-color:rgba(52,64,103,var(--bg-opacity,1))}.hover\\\\:bg-sign-light:hover{background-color:rgba(148,205,42,1);background-color:rgba(148,205,42,var(--bg-opacity,1))}.hover\\\\:bg-sign-default:hover{background-color:rgba(123,182,15,1);background-color:rgba(123,182,15,var(--bg-opacity,1))}.hover\\\\:border-b-sign-default:hover{border-bottom-color:rgba(123,182,15,1);border-bottom-color:rgba(123,182,15,var(--border-b-opacity,1))}.hover\\\\:bg-sign-dark:hover{background-color:rgba(109,169,0,1);background-color:rgba(109,169,0,var(--bg-opacity,1))}.hover\\\\:bg-tables-dark:hover{background-color:rgba(0,123,42,1);background-color:rgba(0,123,42,var(--bg-opacity,1))}.hover\\\\:bg-teams-dark:hover{background-color:rgba(12,21,64,1);background-color:rgba(12,21,64,var(--bg-opacity,1))}.hover\\\\:shadow-xs:hover{box-shadow:0 1px 2px 0#1018280d}.focus\\\\:bg-blue-100:focus{background-color:rgba(237,248,255,1);background-color:rgba(237,248,255,var(--bg-opacity,1))}.focus\\\\:color-blue-100:focus{color:rgba(237,248,255,1);color:rgba(237,248,255,var(--color-opacity,1))}.focus\\\\:border-blue-100:focus{border-color:rgba(237,248,255,1);border-color:rgba(237,248,255,var(--border-opacity,1))}.focus\\\\:outline-blue-200:focus{outline-color:rgba(119,207,255,1);outline-color:rgba(119,207,255,var(--outline-opacity,1))}.focus\\\\:bg-blue-300:focus{background-color:rgba(77,190,252,1);background-color:rgba(77,190,252,var(--bg-opacity,1))}.focus\\\\:color-blue-300:focus{color:rgba(77,190,252,1);color:rgba(77,190,252,var(--color-opacity,1))}.focus\\\\:border-blue-300:focus{border-color:rgba(77,190,252,1);border-color:rgba(77,190,252,var(--border-opacity,1))}.focus\\\\:border-blue-400:focus{border-color:rgba(0,153,255,1);border-color:rgba(0,153,255,var(--border-opacity,1))}.focus\\\\:bg-blue-500:focus{background-color:rgba(0,117,227,1);background-color:rgba(0,117,227,var(--bg-opacity,1))}.focus\\\\:color-blue-500:focus{color:rgba(0,117,227,1);color:rgba(0,117,227,var(--color-opacity,1))}.focus\\\\:border-blue-500:focus{border-color:rgba(0,117,227,1);border-color:rgba(0,117,227,var(--border-opacity,1))}.focus\\\\:outline-blue-500:focus{outline-color:rgba(0,117,227,1);outline-color:rgba(0,117,227,var(--outline-opacity,1))}.focus\\\\:bg-blue-600:focus{background-color:rgba(0,102,195,1);background-color:rgba(0,102,195,var(--bg-opacity,1))}.focus\\\\:color-blue-600:focus{color:rgba(0,102,195,1);color:rgba(0,102,195,var(--color-opacity,1))}.focus\\\\:border-blue-600:focus{border-color:rgba(0,102,195,1);border-color:rgba(0,102,195,var(--border-opacity,1))}.focus\\\\:outline-green-200:focus{outline-color:rgba(203,251,123,1);outline-color:rgba(203,251,123,var(--outline-opacity,1))}.focus\\\\:outline-green-300:focus{outline-color:rgba(168,235,56,1);outline-color:rgba(168,235,56,var(--outline-opacity,1))}.focus\\\\:bg-red-100:focus{background-color:rgba(254,242,242,1);background-color:rgba(254,242,242,var(--bg-opacity,1))}.focus\\\\:color-red-100:focus{color:rgba(254,242,242,1);color:rgba(254,242,242,var(--color-opacity,1))}.focus\\\\:border-red-100:focus{border-color:rgba(254,242,242,1);border-color:rgba(254,242,242,var(--border-opacity,1))}.focus\\\\:bg-red-200:focus{background-color:rgba(254,202,202,1);background-color:rgba(254,202,202,var(--bg-opacity,1))}.focus\\\\:color-red-200:focus{color:rgba(254,202,202,1);color:rgba(254,202,202,var(--color-opacity,1))}.focus\\\\:border-red-200:focus{border-color:rgba(254,202,202,1);border-color:rgba(254,202,202,var(--border-opacity,1))}.focus\\\\:outline-red-200:focus{outline-color:rgba(254,202,202,1);outline-color:rgba(254,202,202,var(--outline-opacity,1))}.focus\\\\:outline-red-300:focus{outline-color:rgba(248,113,113,1);outline-color:rgba(248,113,113,var(--outline-opacity,1))}.focus\\\\:bg-red-400:focus{background-color:rgba(220,38,38,1);background-color:rgba(220,38,38,var(--bg-opacity,1))}.focus\\\\:color-red-400:focus{color:rgba(220,38,38,1);color:rgba(220,38,38,var(--color-opacity,1))}.focus\\\\:border-red-400:focus{border-color:rgba(220,38,38,1);border-color:rgba(220,38,38,var(--border-opacity,1))}.focus\\\\:outline-red-400:focus{outline-color:rgba(220,38,38,1);outline-color:rgba(220,38,38,var(--outline-opacity,1))}.focus\\\\:bg-red-600:focus{background-color:rgba(171,1,1,1);background-color:rgba(171,1,1,var(--bg-opacity,1))}.focus\\\\:color-red-600:focus{color:rgba(171,1,1,1);color:rgba(171,1,1,var(--color-opacity,1))}.focus\\\\:border-red-600:focus{border-color:rgba(171,1,1,1);border-color:rgba(171,1,1,var(--border-opacity,1))}.focus\\\\:bg-navy-25:focus{background-color:rgba(243,243,254,1);background-color:rgba(243,243,254,var(--bg-opacity,1))}.focus\\\\:outline-navy-50:focus{outline-color:rgba(227,229,245,1);outline-color:rgba(227,229,245,var(--outline-opacity,1))}.focus\\\\:bg-navy-75:focus{background-color:rgba(218,222,243,1);background-color:rgba(218,222,243,var(--bg-opacity,1))}.focus\\\\:bg-navy-100:focus{background-color:rgba(200,206,237,1);background-color:rgba(200,206,237,var(--bg-opacity,1))}.focus\\\\:outline-navy-100:focus{outline-color:rgba(200,206,237,1);outline-color:rgba(200,206,237,var(--outline-opacity,1))}.focus\\\\:bg-navy-300:focus{background-color:rgba(108,115,168,1);background-color:rgba(108,115,168,var(--bg-opacity,1))}.focus\\\\:bg-navy-700:focus{background-color:rgba(10,21,81,1);background-color:rgba(10,21,81,var(--bg-opacity,1))}.focus\\\\:border-gray-300:focus{border-color:rgba(127,133,156,1);border-color:rgba(127,133,156,var(--border-opacity,1))}.focus\\\\:outline-gray-300:focus{outline-color:rgba(127,133,156,1);outline-color:rgba(127,133,156,var(--outline-opacity,1))}.focus\\\\:outline-analytics-light:focus{outline-color:rgba(185,190,223,1);outline-color:rgba(185,190,223,var(--outline-opacity,1))}.focus\\\\:outline-approvals-light:focus{outline-color:rgba(0,143,117,1);outline-color:rgba(0,143,117,var(--outline-opacity,1))}.focus\\\\:outline-apps-light:focus{outline-color:rgba(191,120,240,1);outline-color:rgba(191,120,240,var(--outline-opacity,1))}.focus\\\\:outline-forms-light:focus{outline-color:rgba(255,123,28,1);outline-color:rgba(255,123,28,var(--outline-opacity,1))}.focus\\\\:outline-inbox-light:focus{outline-color:rgba(89,190,210,1);outline-color:rgba(89,190,210,var(--outline-opacity,1))}.focus\\\\:outline-pages-light:focus{outline-color:rgba(88,135,191,1);outline-color:rgba(88,135,191,var(--outline-opacity,1))}.focus\\\\:outline-pdf-light:focus{outline-color:rgba(98,142,255,1);outline-color:rgba(98,142,255,var(--outline-opacity,1))}.focus\\\\:outline-reports-light:focus{outline-color:rgba(114,141,221,1);outline-color:rgba(114,141,221,var(--outline-opacity,1))}.focus\\\\:outline-sign-light:focus{outline-color:rgba(148,205,42,1);outline-color:rgba(148,205,42,var(--outline-opacity,1))}.focus\\\\:outline-tables-light:focus{outline-color:rgba(55,199,104,1);outline-color:rgba(55,199,104,var(--outline-opacity,1))}.focus\\\\:outline-teams-light:focus{outline-color:rgba(48,60,119,1);outline-color:rgba(48,60,119,var(--outline-opacity,1))}.group:hover .group-hover\\\\:color-navy-400{color:rgba(69,78,128,1);color:rgba(69,78,128,var(--color-opacity,1))}.group:hover .group-hover\\\\:bg-gray-100{background-color:rgba(191,195,206,1);background-color:rgba(191,195,206,var(--bg-opacity,1))}.group:hover .group-hover\\\\:bg-approvals-light{background-color:rgba(0,143,117,1);background-color:rgba(0,143,117,var(--bg-opacity,1))}.group:hover .group-hover\\\\:bg-apps-light{background-color:rgba(191,120,240,1);background-color:rgba(191,120,240,var(--bg-opacity,1))}.group:hover .group-hover\\\\:bg-forms-light{background-color:rgba(255,123,28,1);background-color:rgba(255,123,28,var(--bg-opacity,1))}.group:hover .group-hover\\\\:bg-pages-dark{background-color:rgba(3,41,76,1);background-color:rgba(3,41,76,var(--bg-opacity,1))}.group:hover .group-hover\\\\:bg-pdf-light{background-color:rgba(98,142,255,1);background-color:rgba(98,142,255,var(--bg-opacity,1))}.group:hover .group-hover\\\\:bg-sign-light{background-color:rgba(148,205,42,1);background-color:rgba(148,205,42,var(--bg-opacity,1))}.group:hover .group-hover\\\\:block{display:block}.group:hover .group-hover\\\\:flex{display:flex}.group:hover .group-hover\\\\:hidden{display:none}.focus-within\\\\:bg-blue-100:focus-within{background-color:rgba(237,248,255,1);background-color:rgba(237,248,255,var(--bg-opacity,1))}.focus-within\\\\:color-blue-100:focus-within{color:rgba(237,248,255,1);color:rgba(237,248,255,var(--color-opacity,1))}.focus-within\\\\:border-blue-100:focus-within{border-color:rgba(237,248,255,1);border-color:rgba(237,248,255,var(--border-opacity,1))}.focus-within\\\\:outline-blue-200:focus-within{outline-color:rgba(119,207,255,1);outline-color:rgba(119,207,255,var(--outline-opacity,1))}.focus-within\\\\:bg-blue-300:focus-within{background-color:rgba(77,190,252,1);background-color:rgba(77,190,252,var(--bg-opacity,1))}.focus-within\\\\:color-blue-300:focus-within{color:rgba(77,190,252,1);color:rgba(77,190,252,var(--color-opacity,1))}.focus-within\\\\:border-blue-300:focus-within{border-color:rgba(77,190,252,1);border-color:rgba(77,190,252,var(--border-opacity,1))}.focus-within\\\\:bg-blue-500:focus-within{background-color:rgba(0,117,227,1);background-color:rgba(0,117,227,var(--bg-opacity,1))}.focus-within\\\\:color-blue-500:focus-within{color:rgba(0,117,227,1);color:rgba(0,117,227,var(--color-opacity,1))}.focus-within\\\\:border-blue-500:focus-within{border-color:rgba(0,117,227,1);border-color:rgba(0,117,227,var(--border-opacity,1))}.focus-within\\\\:outline-blue-500:focus-within{outline-color:rgba(0,117,227,1);outline-color:rgba(0,117,227,var(--outline-opacity,1))}.focus-within\\\\:bg-blue-600:focus-within{background-color:rgba(0,102,195,1);background-color:rgba(0,102,195,var(--bg-opacity,1))}.focus-within\\\\:color-blue-600:focus-within{color:rgba(0,102,195,1);color:rgba(0,102,195,var(--color-opacity,1))}.focus-within\\\\:border-blue-600:focus-within{border-color:rgba(0,102,195,1);border-color:rgba(0,102,195,var(--border-opacity,1))}.focus-within\\\\:bg-red-100:focus-within{background-color:rgba(254,242,242,1);background-color:rgba(254,242,242,var(--bg-opacity,1))}.focus-within\\\\:color-red-100:focus-within{color:rgba(254,242,242,1);color:rgba(254,242,242,var(--color-opacity,1))}.focus-within\\\\:border-red-100:focus-within{border-color:rgba(254,242,242,1);border-color:rgba(254,242,242,var(--border-opacity,1))}.focus-within\\\\:bg-red-200:focus-within{background-color:rgba(254,202,202,1);background-color:rgba(254,202,202,var(--bg-opacity,1))}.focus-within\\\\:color-red-200:focus-within{color:rgba(254,202,202,1);color:rgba(254,202,202,var(--color-opacity,1))}.focus-within\\\\:border-red-200:focus-within{border-color:rgba(254,202,202,1);border-color:rgba(254,202,202,var(--border-opacity,1))}.focus-within\\\\:bg-red-400:focus-within{background-color:rgba(220,38,38,1);background-color:rgba(220,38,38,var(--bg-opacity,1))}.focus-within\\\\:color-red-400:focus-within{color:rgba(220,38,38,1);color:rgba(220,38,38,var(--color-opacity,1))}.focus-within\\\\:border-red-400:focus-within{border-color:rgba(220,38,38,1);border-color:rgba(220,38,38,var(--border-opacity,1))}.focus-within\\\\:bg-red-600:focus-within{background-color:rgba(171,1,1,1);background-color:rgba(171,1,1,var(--bg-opacity,1))}.focus-within\\\\:color-red-600:focus-within{color:rgba(171,1,1,1);color:rgba(171,1,1,var(--color-opacity,1))}.focus-within\\\\:border-red-600:focus-within{border-color:rgba(171,1,1,1);border-color:rgba(171,1,1,var(--border-opacity,1))}.focus-within\\\\:bg-navy-25:focus-within{background-color:rgba(243,243,254,1);background-color:rgba(243,243,254,var(--bg-opacity,1))}.focus-within\\\\:bg-navy-75:focus-within{background-color:rgba(218,222,243,1);background-color:rgba(218,222,243,var(--bg-opacity,1))}.focus-within\\\\:bg-navy-100:focus-within{background-color:rgba(200,206,237,1);background-color:rgba(200,206,237,var(--bg-opacity,1))}.focus-within\\\\:bg-navy-300:focus-within{background-color:rgba(108,115,168,1);background-color:rgba(108,115,168,var(--bg-opacity,1))}.focus-within\\\\:bg-navy-700:focus-within{background-color:rgba(10,21,81,1);background-color:rgba(10,21,81,var(--bg-opacity,1))}.outline-0{outline-width:0}.outline-offset-0{outline-offset:0}.hover\\\\:outline-2:hover,.outline-2{outline-width:.125rem}.outline-4{outline-width:.25rem}.outline{outline-width:1px}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-black{font-weight:900}.hover\\\\:underline:hover,.underline{text-decoration-line:underline}.hover\\\\:no-underline:hover,.no-underline{text-decoration-line:none}.line-through{text-decoration-line:line-through}.focus\\\\:outline-2:focus{outline-width:.125rem}.focus\\\\:outline-4:focus{outline-width:.25rem}.focus\\\\:outline:focus{outline-width:1px}.h-0{height:0}.w-0{width:0}.h-1{height:.25rem}.w-1{width:.25rem}.h-2{height:.5rem}.w-2{width:.5rem}.h-3{height:.75rem}.w-3{width:.75rem}.h-4{height:1rem}.w-4{width:1rem}.h-5{height:1.25rem}.w-5{width:1.25rem}.h-6{height:1.5rem}.w-6{width:1.5rem}.h-7{height:1.75rem}.w-7{width:1.75rem}.h-8{height:2rem}.w-8{width:2rem}.h-9{height:2.25rem}.w-9{width:2.25rem}.h-10{height:2.5rem}.w-10{width:2.5rem}.h-11{height:2.75rem}.w-11{width:2.75rem}.h-12{height:3rem}.w-12{width:3rem}.h-14{height:3.5rem}.w-14{width:3.5rem}.h-16{height:4rem}.w-16{width:4rem}.h-18{height:4.5rem}.w-18{width:4.5rem}.h-20{height:5rem}.w-20{width:5rem}.group:hover .group-hover\\\\:h-24,.h-24{height:6rem}.w-24{width:6rem}.h-28{height:7rem}.w-28{width:7rem}.h-32{height:8rem}.w-32{width:8rem}.h-36{height:9rem}.h-40{height:10rem}.w-40{width:10rem}.h-44{height:11rem}.h-48{height:12rem}.w-48{width:12rem}.h-52{height:13rem}.w-52{width:13rem}.w-56{width:14rem}.h-60{height:15rem}.h-64{height:16rem}.w-64{width:16rem}.h-72{height:18rem}.w-72{width:18rem}.w-76{width:19rem}.h-80{height:20rem}.w-80{width:20rem}.h-84{height:21rem}.w-84{width:21rem}.w-92{width:23rem}.h-100{height:25rem}.w-100{width:25rem}.h-108{height:27rem}.h-120{height:30rem}.h-auto{height:auto}.hover\\\\:w-auto:hover,.w-auto{width:auto}.w-1\\\\/2{width:50%}.h-1\\\\/3{height:33.333333%}.w-1\\\\/3{width:33.333333%}.w-3\\\\/4{width:75%}.w-1\\\\/5{width:20%}.w-2\\\\/5{width:40%}.w-3\\\\/5{width:60%}.w-4\\\\/5{width:80%}.w-2\\\\/6{width:33.333333%}.h-5\\\\/6{height:83.333333%}.w-5\\\\/6{width:83.333333%}.w-3\\\\/12{width:25%}.w-6\\\\/12{width:50%}.w-8\\\\/12{width:66.666667%}.h-11\\\\/12{height:91.666667%}.w-11\\\\/12{width:91.666667%}.h-full{height:100%}.w-full{width:100%}.h-px{height:1px}.w-px{width:1px}.h-0\\\\.5{height:.125rem}.h-2\\\\.5{height:.625rem}.w-2\\\\.5{width:.625rem}.h-3\\\\.5{height:.875rem}.w-3\\\\.5{width:.875rem}.w-min{width:-moz-min-content;width:min-content}.h-max{height:-moz-max-content;height:max-content}.w-max{width:-moz-max-content;width:max-content}.h-50vh{height:50vh}.h-60vh{height:60vh}.h-100vh{height:100vh}.h-100dvh{height:100dvh}.w-90vw{width:90vw}.w-100vw{width:100vw}.w-100dvw{width:100dvw}.basis-1\\\\/2{flex-basis:50%}.basis-2\\\\/3{flex-basis:66.666667%}.delay-300{transition-delay:.3s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.duration-all-colors{transition-property:background-color,color,border-color,outline-color}.ease-in{transition-timing-function:ease-in}.ease-out{transition-timing-function:ease-out}.ease-in-out{transition-timing-function:ease-in-out}.hover\\\\:duration-300:hover{transition-duration:.3s}.top-0{top:0}.left-0{left:0}.right-0{right:0}.bottom-0{bottom:0}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{right:0;left:0}.right-1{right:.25rem}.bottom-1{bottom:.25rem}.inset-1{top:.25rem;right:.25rem;bottom:.25rem;left:.25rem}.-right-1{right:-.25rem}.top-2{top:.5rem}.left-2{left:.5rem}.right-2{right:.5rem}.bottom-2{bottom:.5rem}.inset-2{top:.5rem;right:.5rem;bottom:.5rem;left:.5rem}.-top-2{top:-.5rem}.-left-2{left:-.5rem}.-right-2{right:-.5rem}.top-3{top:.75rem}.left-3{left:.75rem}.right-3{right:.75rem}.-top-3{top:-.75rem}.top-4{top:1rem}.left-4{left:1rem}.right-4{right:1rem}.bottom-4{bottom:1rem}.top-5{top:1.25rem}.left-5{left:1.25rem}.right-5{right:1.25rem}.inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.top-6{top:1.5rem}.left-6{left:1.5rem}.right-6{right:1.5rem}.bottom-6{bottom:1.5rem}.bottom-7{bottom:1.75rem}.top-8{top:2rem}.right-8{right:2rem}.bottom-8{bottom:2rem}.-top-8{top:-2rem}.top-10{top:2.5rem}.bottom-10{bottom:2.5rem}.-top-10{top:-2.5rem}.-right-10{right:-2.5rem}.right-11{right:2.75rem}.top-12{top:3rem}.bottom-12{bottom:3rem}.top-14{top:3.5rem}.left-18{left:4.5rem}.bottom-18{bottom:4.5rem}.bottom-20{bottom:5rem}.left-24{left:6rem}.top-28{top:7rem}.bottom-28{bottom:7rem}.-left-28{left:-7rem}.-left-44{left:-11rem}.top-1\\\\/2{top:50%}.left-1\\\\/2{left:50%}.right-1\\\\/2{right:50%}.top-1\\\\/3{top:33.333333%}.left-1\\\\/3{left:33.333333%}.top-2\\\\/3{top:66.666667%}.left-2\\\\/3{left:66.666667%}.top-2\\\\/4{top:50%}.top-4\\\\/12{top:33.333333%}.top-11\\\\/12{top:91.666667%}.top-full{top:100%}.left-full{left:100%}.right-full{right:100%}.-left-full{left:-100%}.top-px{top:1px}.bottom-px,.inset-px{bottom:1px}.inset-px{top:1px}.inset-px{right:1px;left:1px}.bottom-0\\\\.5,.inset-0\\\\.5{bottom:.125rem}.inset-0\\\\.5{top:.125rem}.inset-0\\\\.5{right:.125rem;left:.125rem}.right-1\\\\.5{right:.375rem}.inset-1\\\\.5{bottom:.375rem}.inset-1\\\\.5{top:.375rem}.inset-1\\\\.5{right:.375rem;left:.375rem}.-bottom-3\\\\.5{bottom:-.875rem}.left-auto{left:auto}.radius-none{border-radius:0}.radius-b-none{border-bottom-left-radius:0}.radius-b-none,.radius-br-none{border-bottom-right-radius:0}.radius-bl-none{border-bottom-left-radius:0}.radius{border-radius:.25rem}.radius-t{border-top-right-radius:.25rem}.radius-t,.radius-tl{border-top-left-radius:.25rem}.radius-r,.radius-tr{border-top-right-radius:.25rem}.radius-r{border-bottom-right-radius:.25rem}.radius-b{border-bottom-left-radius:.25rem}.radius-b,.radius-br{border-bottom-right-radius:.25rem}.radius-bl,.radius-l{border-bottom-left-radius:.25rem}.radius-l{border-top-left-radius:.25rem}.radius-sm{border-radius:.125rem}.radius-md{border-radius:.375rem}.radius-tl-md{border-top-left-radius:.375rem}.radius-tr-md{border-top-right-radius:.375rem}.radius-b-md{border-bottom-left-radius:.375rem}.radius-b-md,.radius-br-md{border-bottom-right-radius:.375rem}.radius-bl-md{border-bottom-left-radius:.375rem}.radius-lg{border-radius:.5rem}.radius-t-lg{border-top-right-radius:.5rem}.radius-t-lg,.radius-tl-lg{border-top-left-radius:.5rem}.radius-r-lg,.radius-tr-lg{border-top-right-radius:.5rem}.radius-r-lg{border-bottom-right-radius:.5rem}.radius-b-lg{border-bottom-left-radius:.5rem}.radius-b-lg,.radius-br-lg{border-bottom-right-radius:.5rem}.radius-bl-lg,.radius-l-lg{border-bottom-left-radius:.5rem}.radius-l-lg{border-top-left-radius:.5rem}.radius-xl{border-radius:.75rem}.radius-t-xl{border-top-right-radius:.75rem}.radius-t-xl{border-top-left-radius:.75rem}.radius-full{border-radius:9998px}.radius-l-full{border-bottom-left-radius:9998px}.radius-l-full{border-top-left-radius:9998px}.group:hover .group-hover\\\\:left-2\\\\.5{left:.625rem}[dir=rtl] .rtl\\\\:left-0{left:0}[dir=rtl] .rtl\\\\:right-0{right:0}[dir=rtl] .rtl\\\\:right-2{right:.5rem}[dir=rtl] .rtl\\\\:left-4{left:1rem}[dir=rtl] .rtl\\\\:right-4{right:1rem}[dir=rtl] .rtl\\\\:left-5{left:1.25rem}[dir=rtl] .rtl\\\\:left-8{left:2rem}[dir=rtl] .rtl\\\\:left-11{left:2.75rem}[dir=rtl] .rtl\\\\:right-24{right:6rem}[dir=rtl] .rtl\\\\:-right-28{right:-7rem}[dir=rtl] .rtl\\\\:right-1\\\\/2{right:50%}[dir=rtl] .rtl\\\\:right-1\\\\/3{right:33.333333%}[dir=rtl] .rtl\\\\:right-2\\\\/3{right:66.666667%}[dir=rtl] .rtl\\\\:left-auto{left:auto}[dir=rtl] .rtl\\\\:right-auto{right:auto}[dir=rtl] .rtl\\\\:radius-r-none{border-top-right-radius:0;border-bottom-right-radius:0}[dir=rtl] .rtl\\\\:radius-l-none{border-top-left-radius:0;border-bottom-left-radius:0}[dir=rtl] .rtl\\\\:radius-r-lg{border-top-right-radius:.5rem}[dir=rtl] .rtl\\\\:radius-r-lg{border-bottom-right-radius:.5rem}[dir=rtl] .rtl\\\\:radius-l-lg{border-bottom-left-radius:.5rem}[dir=rtl] .rtl\\\\:radius-l-lg{border-top-left-radius:.5rem}.translate-x-0{--translate-x:0}.group:hover .group-hover\\\\:-translate-y-4{--translate-y:-1rem}.translate-y-8{--translate-y:2rem}.translate-x-10{--translate-x:2.5rem}.-translate-x-20{--translate-x:-5rem}.translate-x-120{--translate-x:30rem}.-translate-x-120{--translate-x:-30rem}.translate-y-px{--translate-y:1px}.-translate-y-px{--translate-y:-1px}.translate-y-1\\\\/2{--translate-y:50%}.-translate-y-1\\\\/2{--translate-y:-50%}.translate-x-1\\\\/2{--translate-x:50%}.-translate-x-1\\\\/2{--translate-x:-50%}.-translate-y-6\\\\/12{--translate-y:-50%}.translate-x-6\\\\/12{--translate-x:50%}.translate-x-full{--translate-x:100%}.-translate-x-full{--translate-x:-100%}.scale-75{--scale:0.75}.scale-80{--scale:0.8}.rotate-0{--rotate:0deg}.rotate-90{--rotate:90deg}.rotate-180{--rotate:180deg}[dir=rtl] .rtl\\\\:rotate-180{--rotate:180deg}.m-0{margin:0}.mx-0{margin-left:0;margin-right:0}.my-0{margin-top:0;margin-bottom:0}.ml-0,[dir=rtl] .rtl\\\\:ml-0{margin-left:0}.mr-0,[dir=rtl] .rtl\\\\:mr-0{margin-right:0}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.ml-1,[dir=rtl] .rtl\\\\:ml-1{margin-left:.25rem}.mr-1{margin-right:.25rem}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.-ml-1{margin-left:-.25rem}.-mb-1{margin-bottom:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.ml-2,[dir=rtl] .rtl\\\\:ml-2{margin-left:.5rem}.mr-2,[dir=rtl] .rtl\\\\:mr-2{margin-right:.5rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.-mt-2{margin-top:-.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.ml-3{margin-left:.75rem}.mr-3,[dir=rtl] .rtl\\\\:mr-3{margin-right:.75rem}.mt-3{margin-top:.75rem}.mb-3{margin-bottom:.75rem}.-m-3{margin:-.75rem}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.my-4{margin-top:1rem;margin-bottom:1rem}.ml-4,[dir=rtl] .rtl\\\\:ml-4{margin-left:1rem}.mr-4{margin-right:1rem}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-mr-4{margin-right:-1rem}.-mt-4{margin-top:-1rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mt-5{margin-top:1.25rem}.mb-5{margin-bottom:1.25rem}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.-mb-5{margin-bottom:-1.25rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mr-6{margin-right:1.5rem}.mt-6{margin-top:1.5rem}.mb-6{margin-bottom:1.5rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.-mb-6{margin-bottom:-1.5rem}.mt-7{margin-top:1.75rem}.mb-7{margin-bottom:1.75rem}.my-8{margin-top:2rem;margin-bottom:2rem}.ml-8,[dir=rtl] .rtl\\\\:ml-8{margin-left:2rem}.mr-8{margin-right:2rem}.mt-8{margin-top:2rem}.mb-8{margin-bottom:2rem}.-mx-8{margin-left:-2rem;margin-right:-2rem}.-mt-8{margin-top:-2rem}.mt-9{margin-top:2.25rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.mt-10{margin-top:2.5rem}.mb-10{margin-bottom:2.5rem}.mt-11{margin-top:2.75rem}.my-12{margin-top:3rem;margin-bottom:3rem}.mt-12{margin-top:3rem}.mb-12{margin-bottom:3rem}.mx-14{margin-left:3.5rem;margin-right:3.5rem}.ml-14{margin-left:3.5rem}.mt-14{margin-top:3.5rem}.mb-14{margin-bottom:3.5rem}.mt-16{margin-top:4rem}.mb-16{margin-bottom:4rem}.mt-18{margin-top:4.5rem}.mb-18{margin-bottom:4.5rem}.my-20{margin-top:5rem;margin-bottom:5rem}.mt-20{margin-top:5rem}.my-24{margin-top:6rem;margin-bottom:6rem}.my-28{margin-top:7rem;margin-bottom:7rem}.mt-32{margin-top:8rem}.mr-px{margin-right:1px}.mb-px{margin-bottom:1px}.-mt-px{margin-top:-1px}.my-0\\\\.5{margin-top:.125rem;margin-bottom:.125rem}.ml-0\\\\.5{margin-left:.125rem}.mr-0\\\\.5{margin-right:.125rem}.mt-0\\\\.5{margin-top:.125rem}.mb-0\\\\.5{margin-bottom:.125rem}.mx-1\\\\.5{margin-left:.375rem;margin-right:.375rem}.ml-1\\\\.5{margin-left:.375rem}.mr-1\\\\.5{margin-right:.375rem}.mt-1\\\\.5{margin-top:.375rem}.mb-1\\\\.5{margin-bottom:.375rem}.mx-2\\\\.5{margin-left:.625rem;margin-right:.625rem}.ml-2\\\\.5{margin-left:.625rem}.mr-2\\\\.5{margin-right:.625rem}.mt-2\\\\.5{margin-top:.625rem}.mb-2\\\\.5{margin-bottom:.625rem}.mb-3\\\\.5{margin-bottom:.875rem}.-ml-3\\\\.5{margin-left:-.875rem}.-mr-3\\\\.5{margin-right:-.875rem}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.ml-auto,[dir=rtl] .rtl\\\\:ml-auto{margin-left:auto}.mr-auto,[dir=rtl] .rtl\\\\:mr-auto{margin-right:auto}.mt-auto{margin-top:auto}.mb-auto{margin-bottom:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media only screen and (min-width:30rem){[class].xs\\\\:float-right{float:right}[class].xs\\\\:px-0{padding-left:0;padding-right:0}[class].xs\\\\:pt-0{padding-top:0}[class].xs\\\\:px-1{padding-left:.25rem;padding-right:.25rem}[class].xs\\\\:px-2{padding-left:.5rem;padding-right:.5rem}[class].xs\\\\:p-4{padding:1rem}[class].xs\\\\:px-4{padding-left:1rem;padding-right:1rem}[class].xs\\\\:p-6{padding:1.5rem}[class].xs\\\\:px-7{padding-left:1.75rem;padding-right:1.75rem}[class].xs\\\\:px-10{padding-left:2.5rem;padding-right:2.5rem}[class].xs\\\\:pt-10{padding-top:2.5rem}[class].xs\\\\:pb-10{padding-bottom:2.5rem}[class].xs\\\\:pt-12{padding-top:3rem}[class].xs\\\\:pt-20{padding-top:5rem}[class].xs\\\\:pr-28{padding-right:7rem}[class].xs\\\\:py-1\\\\.5{padding-top:.375rem;padding-bottom:.375rem}[class].xs\\\\:text-sm{font-size:.875rem;line-height:1.125rem}[class].xs\\\\:text-lg{font-size:1.125rem;line-height:1.375rem}[class].xs\\\\:line-height-md{line-height:1.25rem}[class].xs\\\\:justify-center{justify-content:center}[class].xs\\\\:justify-start{justify-content:flex-start}[class].xs\\\\:justify-end{justify-content:flex-end}[class].xs\\\\:justify-between{justify-content:space-between}[class].xs\\\\:justify-around{justify-content:space-around}[class].xs\\\\:justify-evenly{justify-content:space-evenly}[class].xs\\\\:justify-self-auto{justify-self:auto}[class].xs\\\\:justify-self-start{justify-self:start}[class].xs\\\\:justify-self-end{justify-self:end}[class].xs\\\\:justify-self-center{justify-self:center}[class].xs\\\\:justify-self-stretch{justify-self:stretch}[class].xs\\\\:self-auto{align-self:auto}[class].xs\\\\:self-center{align-self:center}[class].xs\\\\:self-start{align-self:flex-start}[class].xs\\\\:self-end{align-self:flex-end}[class].xs\\\\:self-stretch{align-self:stretch}[class].xs\\\\:self-baseline{align-self:baseline}[class].xs\\\\:items-center{align-items:center}[class].xs\\\\:items-start{align-items:flex-start}[class].xs\\\\:items-end{align-items:flex-end}[class].xs\\\\:items-stretch{align-items:stretch}[class].xs\\\\:items-baseline{align-items:baseline}[class].xs\\\\:max-w-24{max-width:6rem}[class].xs\\\\:max-h-32{max-height:8rem}[class].xs\\\\:max-h-44{max-height:11rem}[class].xs\\\\:max-w-64{max-width:16rem}[class].xs\\\\:cols-none{grid-template-columns:repeat(none,minmax(0,1fr))}[class].xs\\\\:cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}[class].xs\\\\:cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}[class].xs\\\\:cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}[class].xs\\\\:cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}[class].xs\\\\:cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}[class].xs\\\\:cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}[class].xs\\\\:cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}[class].xs\\\\:cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}[class].xs\\\\:cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}[class].xs\\\\:cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}[class].xs\\\\:cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}[class].xs\\\\:cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}[class].xs\\\\:col-start-auto{grid-column-start:auto}[class].xs\\\\:col-end-auto{grid-column-end:auto}[class].xs\\\\:col-start-1{grid-column-start:1}[class].xs\\\\:col-end-1{grid-column-end:1}[class].xs\\\\:col-start-2{grid-column-start:2}[class].xs\\\\:col-end-2{grid-column-end:2}[class].xs\\\\:col-start-3{grid-column-start:3}[class].xs\\\\:col-end-3{grid-column-end:3}[class].xs\\\\:col-start-4{grid-column-start:4}[class].xs\\\\:col-end-4{grid-column-end:4}[class].xs\\\\:col-start-5{grid-column-start:5}[class].xs\\\\:col-end-5{grid-column-end:5}[class].xs\\\\:col-start-6{grid-column-start:6}[class].xs\\\\:col-end-6{grid-column-end:6}[class].xs\\\\:col-start-7{grid-column-start:7}[class].xs\\\\:col-end-7{grid-column-end:7}[class].xs\\\\:col-start-8{grid-column-start:8}[class].xs\\\\:col-end-8{grid-column-end:8}[class].xs\\\\:col-start-9{grid-column-start:9}[class].xs\\\\:col-end-9{grid-column-end:9}[class].xs\\\\:col-start-10{grid-column-start:10}[class].xs\\\\:col-end-10{grid-column-end:10}[class].xs\\\\:col-start-11{grid-column-start:11}[class].xs\\\\:col-end-11{grid-column-end:11}[class].xs\\\\:col-start-12{grid-column-start:12}[class].xs\\\\:col-end-12{grid-column-end:12}[class].xs\\\\:row-start-auto{grid-row-start:auto}[class].xs\\\\:row-end-auto{grid-row-end:auto}[class].xs\\\\:row-start-1{grid-row-start:1}[class].xs\\\\:row-end-1{grid-row-end:1}[class].xs\\\\:row-start-2{grid-row-start:2}[class].xs\\\\:row-end-2{grid-row-end:2}[class].xs\\\\:row-start-3{grid-row-start:3}[class].xs\\\\:row-end-3{grid-row-end:3}[class].xs\\\\:row-start-4{grid-row-start:4}[class].xs\\\\:row-end-4{grid-row-end:4}[class].xs\\\\:row-start-5{grid-row-start:5}[class].xs\\\\:row-end-5{grid-row-end:5}[class].xs\\\\:row-start-6{grid-row-start:6}[class].xs\\\\:row-end-6{grid-row-end:6}[class].xs\\\\:row-start-7{grid-row-start:7}[class].xs\\\\:row-end-7{grid-row-end:7}[class].xs\\\\:row-start-8{grid-row-start:8}[class].xs\\\\:row-end-8{grid-row-end:8}[class].xs\\\\:row-start-9{grid-row-start:9}[class].xs\\\\:row-end-9{grid-row-end:9}[class].xs\\\\:row-start-10{grid-row-start:10}[class].xs\\\\:row-end-10{grid-row-end:10}[class].xs\\\\:row-start-11{grid-row-start:11}[class].xs\\\\:row-end-11{grid-row-end:11}[class].xs\\\\:row-start-12{grid-row-start:12}[class].xs\\\\:row-end-12{grid-row-end:12}[class].xs\\\\:gap-0{gap:0}[class].xs\\\\:flex-row{flex-direction:row}[class].xs\\\\:flex-col{flex-direction:column}[class].xs\\\\:flex-row-reverse{flex-direction:row-reverse}[class].xs\\\\:flex-col-reverse{flex-direction:column-reverse}[class].xs\\\\:shrink-0{flex-shrink:0}[class].xs\\\\:shrink-1{flex-shrink:1}[class].xs\\\\:grow-0{flex-grow:0}[class].xs\\\\:grow-1{flex-grow:1}[class].xs\\\\:flex-wrap{flex-wrap:wrap}[class].xs\\\\:flex-nowrap{flex-wrap:nowrap}[class].xs\\\\:order-last{order:9999}[class].xs\\\\:bg-gray-600{background-color:rgba(51,56,74,1);background-color:rgba(51,56,74,var(--bg-opacity,1))}[class].xs\\\\:inline-flex{display:inline-flex}[class].xs\\\\:block{display:block}[class].xs\\\\:hidden{display:none}[class].xs\\\\:inline{display:inline}[class].xs\\\\:hiddenjf{display:none}[class].xs\\\\:shadow-none{box-shadow:none}[class].xs\\\\:h-10{height:2.5rem}[class].xs\\\\:w-10{width:2.5rem}[class].xs\\\\:h-20{height:5rem}[class].xs\\\\:w-20{width:5rem}[class].xs\\\\:w-40{width:10rem}[class].xs\\\\:h-44{height:11rem}[class].xs\\\\:w-44{width:11rem}[class].xs\\\\:h-64{height:16rem}[class].xs\\\\:w-64{width:16rem}[class].xs\\\\:h-80{height:20rem}[class].xs\\\\:w-96{width:24rem}[class].xs\\\\:w-108{width:27rem}[class].xs\\\\:w-auto{width:auto}[class].xs\\\\:w-max{width:-moz-max-content;width:max-content}[class].xs\\\\:bottom-0{bottom:0}[class].xs\\\\:-top-4{top:-1rem}[class].xs\\\\:right-5{right:1.25rem}[class].xs\\\\:right-6{right:1.5rem}[class].xs\\\\:top-12{top:3rem}[class].xs\\\\:bottom-12{bottom:3rem}[class].xs\\\\:top-auto{top:auto}[class].xs\\\\:left-auto{left:auto}[class].xs\\\\:bottom-auto{bottom:auto}[class].xs\\\\:radius-b-none{border-bottom-left-radius:0}[class].xs\\\\:radius-b-none{border-bottom-right-radius:0}[class].xs\\\\:radius-t-lg{border-top-right-radius:.5rem}[class].xs\\\\:radius-t-lg{border-top-left-radius:.5rem}[class].xs\\\\:radius-b-lg{border-bottom-left-radius:.5rem}[class].xs\\\\:radius-b-lg{border-bottom-right-radius:.5rem}[class].xs\\\\:radius-r-full{border-top-right-radius:9998px}[class].xs\\\\:radius-r-full{border-bottom-right-radius:9998px}[class].xs\\\\:radius-l-full{border-bottom-left-radius:9998px}[class].xs\\\\:radius-l-full{border-top-left-radius:9998px}[class].xs\\\\:ml-0{margin-left:0}[class].xs\\\\:mr-0{margin-right:0}[class].xs\\\\:mt-0{margin-top:0}[class].xs\\\\:mb-0{margin-bottom:0}[class].xs\\\\:ml-1{margin-left:.25rem}[class].xs\\\\:ml-2{margin-left:.5rem}[class].xs\\\\:mr-2{margin-right:.5rem}[class].xs\\\\:ml-5{margin-left:1.25rem}[class].xs\\\\:mr-5{margin-right:1.25rem}[class].xs\\\\:mx-auto{margin-left:auto;margin-right:auto}[class].xs\\\\:mr-auto{margin-right:auto}}@media only screen and (min-width:40rem){[class].sm\\\\:line-clamp-2{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}[class].sm\\\\:line-clamp-2{-webkit-line-clamp:2}[class].sm\\\\:border-t-0{border-top-width:0}[class].sm\\\\:border-b-0{border-bottom-width:0}[class].sm\\\\:overflow-auto{overflow:auto}[class].sm\\\\:static{position:static}[class].sm\\\\:text-center,[dir=rtl] [class].sm\\\\:rtl\\\\:text-center{text-align:center}[class].sm\\\\:px-0{padding-left:0;padding-right:0}[class].sm\\\\:pb-0{padding-bottom:0}[class].sm\\\\:pl-0{padding-left:0}[class].sm\\\\:pr-0{padding-right:0}[class].sm\\\\:px-2{padding-left:.5rem;padding-right:.5rem}[class].sm\\\\:pr-2{padding-right:.5rem}[class].sm\\\\:py-3{padding-top:.75rem;padding-bottom:.75rem}[class].sm\\\\:pr-3{padding-right:.75rem}[class].sm\\\\:p-4{padding:1rem}[class].sm\\\\:px-4{padding-left:1rem;padding-right:1rem}[class].sm\\\\:py-4{padding-top:1rem;padding-bottom:1rem}[dir=rtl] [class].sm\\\\:rtl\\\\:pl-4{padding-left:1rem}[class].sm\\\\:pr-4,[dir=rtl] [class].sm\\\\:rtl\\\\:pr-4{padding-right:1rem}[class].sm\\\\:px-7{padding-left:1.75rem;padding-right:1.75rem}[class].sm\\\\:px-8{padding-left:2rem;padding-right:2rem}[class].sm\\\\:pr-10{padding-right:2.5rem}[class].sm\\\\:px-12{padding-left:3rem;padding-right:3rem}[class].sm\\\\:py-0\\\\.5{padding-top:.125rem;padding-bottom:.125rem}[class].sm\\\\:space-y-0>*+*{margin-top:0}[class].sm\\\\:text-md{font-size:1rem;line-height:1.25rem}[class].sm\\\\:text-lg{font-size:1.125rem;line-height:1.375rem}[class].sm\\\\:text-xl{font-size:1.25rem;line-height:1.5rem}[class].sm\\\\:text-2xl{font-size:1.5rem;line-height:1.75rem}[class].sm\\\\:text-4xl{font-size:2rem;line-height:2.5rem}[class].sm\\\\:justify-center{justify-content:center}[class].sm\\\\:justify-start{justify-content:flex-start}[class].sm\\\\:justify-end{justify-content:flex-end}[class].sm\\\\:justify-between{justify-content:space-between}[class].sm\\\\:justify-around{justify-content:space-around}[class].sm\\\\:justify-evenly{justify-content:space-evenly}[class].sm\\\\:justify-self-auto{justify-self:auto}[class].sm\\\\:justify-self-start{justify-self:start}[class].sm\\\\:justify-self-end{justify-self:end}[class].sm\\\\:justify-self-center{justify-self:center}[class].sm\\\\:justify-self-stretch{justify-self:stretch}[class].sm\\\\:self-auto{align-self:auto}[class].sm\\\\:self-center{align-self:center}[class].sm\\\\:self-start{align-self:flex-start}[class].sm\\\\:self-end{align-self:flex-end}[class].sm\\\\:self-stretch{align-self:stretch}[class].sm\\\\:self-baseline{align-self:baseline}[class].sm\\\\:items-center{align-items:center}[class].sm\\\\:items-start{align-items:flex-start}[class].sm\\\\:items-end{align-items:flex-end}[class].sm\\\\:items-stretch{align-items:stretch}[class].sm\\\\:items-baseline{align-items:baseline}[class].sm\\\\:min-w-36{min-width:9rem}[class].sm\\\\:min-w-sm{min-width:40rem}[class].sm\\\\:min-w-1\\\\/2{min-width:50%}[class].sm\\\\:max-w-32{max-width:8rem}[class].sm\\\\:max-h-44{max-height:11rem}[class].sm\\\\:max-w-1\\\\/2{max-width:50%}[class].sm\\\\:max-w-3\\\\/4{max-width:75%}[class].sm\\\\:max-h-4\\\\/5{max-height:80%}[class].sm\\\\:max-w-full{max-width:100%}[class].sm\\\\:max-h-50vh{max-height:50vh}[class].sm\\\\:cols-none{grid-template-columns:repeat(none,minmax(0,1fr))}[class].sm\\\\:cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}[class].sm\\\\:cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}[class].sm\\\\:cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}[class].sm\\\\:cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}[class].sm\\\\:cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}[class].sm\\\\:cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}[class].sm\\\\:cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}[class].sm\\\\:cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}[class].sm\\\\:cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}[class].sm\\\\:cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}[class].sm\\\\:cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}[class].sm\\\\:cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}[class].sm\\\\:col-start-auto{grid-column-start:auto}[class].sm\\\\:col-end-auto{grid-column-end:auto}[class].sm\\\\:col-start-1{grid-column-start:1}[class].sm\\\\:col-end-1{grid-column-end:1}[class].sm\\\\:col-start-2{grid-column-start:2}[class].sm\\\\:col-end-2{grid-column-end:2}[class].sm\\\\:col-start-3{grid-column-start:3}[class].sm\\\\:col-end-3{grid-column-end:3}[class].sm\\\\:col-start-4{grid-column-start:4}[class].sm\\\\:col-end-4{grid-column-end:4}[class].sm\\\\:col-start-5{grid-column-start:5}[class].sm\\\\:col-end-5{grid-column-end:5}[class].sm\\\\:col-start-6{grid-column-start:6}[class].sm\\\\:col-end-6{grid-column-end:6}[class].sm\\\\:col-start-7{grid-column-start:7}[class].sm\\\\:col-end-7{grid-column-end:7}[class].sm\\\\:col-start-8{grid-column-start:8}[class].sm\\\\:col-end-8{grid-column-end:8}[class].sm\\\\:col-start-9{grid-column-start:9}[class].sm\\\\:col-end-9{grid-column-end:9}[class].sm\\\\:col-start-10{grid-column-start:10}[class].sm\\\\:col-end-10{grid-column-end:10}[class].sm\\\\:col-start-11{grid-column-start:11}[class].sm\\\\:col-end-11{grid-column-end:11}[class].sm\\\\:col-start-12{grid-column-start:12}[class].sm\\\\:col-end-12{grid-column-end:12}[class].sm\\\\:row-start-auto{grid-row-start:auto}[class].sm\\\\:row-end-auto{grid-row-end:auto}[class].sm\\\\:row-start-1{grid-row-start:1}[class].sm\\\\:row-end-1{grid-row-end:1}[class].sm\\\\:row-start-2{grid-row-start:2}[class].sm\\\\:row-end-2{grid-row-end:2}[class].sm\\\\:row-start-3{grid-row-start:3}[class].sm\\\\:row-end-3{grid-row-end:3}[class].sm\\\\:row-start-4{grid-row-start:4}[class].sm\\\\:row-end-4{grid-row-end:4}[class].sm\\\\:row-start-5{grid-row-start:5}[class].sm\\\\:row-end-5{grid-row-end:5}[class].sm\\\\:row-start-6{grid-row-start:6}[class].sm\\\\:row-end-6{grid-row-end:6}[class].sm\\\\:row-start-7{grid-row-start:7}[class].sm\\\\:row-end-7{grid-row-end:7}[class].sm\\\\:row-start-8{grid-row-start:8}[class].sm\\\\:row-end-8{grid-row-end:8}[class].sm\\\\:row-start-9{grid-row-start:9}[class].sm\\\\:row-end-9{grid-row-end:9}[class].sm\\\\:row-start-10{grid-row-start:10}[class].sm\\\\:row-end-10{grid-row-end:10}[class].sm\\\\:row-start-11{grid-row-start:11}[class].sm\\\\:row-end-11{grid-row-end:11}[class].sm\\\\:row-start-12{grid-row-start:12}[class].sm\\\\:row-end-12{grid-row-end:12}[class].sm\\\\:gap-0{gap:0}[class].sm\\\\:gap-2{gap:.5rem}[class].sm\\\\:gap-3{gap:.75rem}[class].sm\\\\:gap-4{gap:1rem}[class].sm\\\\:gap-8{gap:2rem}[class].sm\\\\:gap-20{gap:5rem}[class].sm\\\\:flex-row{flex-direction:row}[class].sm\\\\:flex-col{flex-direction:column}[class].sm\\\\:flex-row-reverse{flex-direction:row-reverse}[class].sm\\\\:flex-col-reverse{flex-direction:column-reverse}[class].sm\\\\:shrink-0{flex-shrink:0}[class].sm\\\\:shrink-1{flex-shrink:1}[class].sm\\\\:grow-0{flex-grow:0}[class].sm\\\\:grow-1{flex-grow:1}[class].sm\\\\:flex-0{flex-grow:0;flex-shrink:0}[class].sm\\\\:flex-wrap{flex-wrap:wrap}[class].sm\\\\:flex-nowrap{flex-wrap:nowrap}[class].sm\\\\:order-first{order:-9999}[class].sm\\\\:order-last{order:9999}[class].sm\\\\:order-none{order:0}[class].sm\\\\:bg-transparent{background-color:transparent}[class].sm\\\\:border-navy-75{border-color:rgba(218,222,243,1);border-color:rgba(218,222,243,var(--border-opacity,1))}[class].sm\\\\:inline-block{display:inline-block}[class].sm\\\\:block{display:block}[class].sm\\\\:flex{display:flex}[class].sm\\\\:hidden{display:none}[class].sm\\\\:inline{display:inline}[class].sm\\\\:shadow-none{box-shadow:none}[class].sm\\\\:shadow-light-sm{box-shadow:0 0 2px #252d5b0a,0 4px 8px #545f6f29}[class].sm\\\\:h-5{height:1.25rem}[class].sm\\\\:w-5{width:1.25rem}[class].sm\\\\:h-8{height:2rem}[class].sm\\\\:h-10{height:2.5rem}[class].sm\\\\:w-10{width:2.5rem}[class].sm\\\\:h-11{height:2.75rem}[class].sm\\\\:w-11{width:2.75rem}[class].sm\\\\:h-20{height:5rem}[class].sm\\\\:w-20{width:5rem}[class].sm\\\\:h-28{height:7rem}[class].sm\\\\:w-32{width:8rem}[class].sm\\\\:w-40{width:10rem}[class].sm\\\\:h-44{height:11rem}[class].sm\\\\:w-48{width:12rem}[class].sm\\\\:w-52{width:13rem}[class].sm\\\\:w-56{width:14rem}[class].sm\\\\:w-60{width:15rem}[class].sm\\\\:w-64{width:16rem}[class].sm\\\\:h-72{height:18rem}[class].sm\\\\:w-72{width:18rem}[class].sm\\\\:h-88{height:22rem}[class].sm\\\\:w-120{width:30rem}[class].sm\\\\:h-auto{height:auto}[class].sm\\\\:w-auto{width:auto}[class].sm\\\\:w-1\\\\/2{width:50%}[class].sm\\\\:w-10\\\\/12{width:83.333333%}[class].sm\\\\:h-full{height:100%}[class].sm\\\\:duration-200{transition-duration:.2s}[class].sm\\\\:top-2{top:.5rem}[class].sm\\\\:radius-lg{border-radius:.5rem}[class].sm\\\\:mx-0{margin-left:0;margin-right:0}[dir=rtl] [class].sm\\\\:rtl\\\\:ml-0{margin-left:0}[class].sm\\\\:mt-0{margin-top:0}[class].sm\\\\:mb-0{margin-bottom:0}[class].sm\\\\:ml-2{margin-left:.5rem}[class].sm\\\\:mr-2{margin-right:.5rem}[class].sm\\\\:mb-2{margin-bottom:.5rem}[class].sm\\\\:mt-3{margin-top:.75rem}[class].sm\\\\:my-4{margin-top:1rem;margin-bottom:1rem}[class].sm\\\\:ml-4{margin-left:1rem}[class].sm\\\\:mr-4,[dir=rtl] [class].sm\\\\:rtl\\\\:mr-4{margin-right:1rem}[class].sm\\\\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}[class].sm\\\\:mt-20{margin-top:5rem}[class].sm\\\\:mb-20{margin-bottom:5rem}[class].sm\\\\:ml-2\\\\.5{margin-left:.625rem}[class].sm\\\\:m-auto{margin:auto}[class].sm\\\\:mx-auto{margin-left:auto;margin-right:auto}[class].sm\\\\:ml-auto{margin-left:auto}[dir=rtl] [class].sm\\\\:rtl\\\\:mr-auto{margin-right:auto}}@media only screen and (min-width:48rem){[dir=rtl] [class].md\\\\:rtl\\\\:border-l-0{border-left-width:0}[class].md\\\\:border-l{border-left-width:1px}[dir=rtl] [class].md\\\\:rtl\\\\:border-r{border-right-width:1px}[class].md\\\\:border-b{border-bottom-width:1px}[class].md\\\\:px-0{padding-left:0;padding-right:0}[class].md\\\\:pl-0{padding-left:0}[class].md\\\\:pr-0,[dir=rtl] [class].md\\\\:rtl\\\\:pr-0{padding-right:0}[class].md\\\\:p-3{padding:.75rem}[class].md\\\\:px-3{padding-left:.75rem;padding-right:.75rem}[class].md\\\\:py-3{padding-top:.75rem;padding-bottom:.75rem}[class].md\\\\:pl-3{padding-left:.75rem}[class].md\\\\:pr-3{padding-right:.75rem}[class].md\\\\:px-4{padding-left:1rem;padding-right:1rem}[class].md\\\\:pt-4{padding-top:1rem}[class].md\\\\:pb-4{padding-bottom:1rem}[class].md\\\\:pl-4{padding-left:1rem}[class].md\\\\:pr-4{padding-right:1rem}[class].md\\\\:px-5{padding-left:1.25rem;padding-right:1.25rem}[class].md\\\\:p-6{padding:1.5rem}[class].md\\\\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}[class].md\\\\:pb-6{padding-bottom:1.5rem}[class].md\\\\:px-8{padding-left:2rem;padding-right:2rem}[class].md\\\\:py-8{padding-top:2rem;padding-bottom:2rem}[class].md\\\\:pr-8{padding-right:2rem}[class].md\\\\:px-10{padding-left:2.5rem;padding-right:2.5rem}[class].md\\\\:pb-10{padding-bottom:2.5rem}[class].md\\\\:pt-12{padding-top:3rem}[class].md\\\\:pt-16{padding-top:4rem}[class].md\\\\:pr-20{padding-right:5rem}[class].md\\\\:pb-24{padding-bottom:6rem}[class].md\\\\:px-32{padding-left:8rem;padding-right:8rem}[class].md\\\\:pb-32{padding-bottom:8rem}[class].md\\\\:pb-40{padding-bottom:10rem}[dir=rtl] [class].md\\\\:rtl\\\\:pl-60{padding-left:15rem}[class].md\\\\:pr-60{padding-right:15rem}[class].md\\\\:text-sm{font-size:.875rem;line-height:1.125rem}[class].md\\\\:text-md{font-size:1rem;line-height:1.25rem}[class].md\\\\:text-lg{font-size:1.125rem;line-height:1.375rem}[class].md\\\\:text-xl{font-size:1.25rem;line-height:1.5rem}[class].md\\\\:text-2xl{font-size:1.5rem;line-height:1.75rem}[class].md\\\\:text-3xl{font-size:1.75rem;line-height:2rem}[class].md\\\\:text-4xl{font-size:2rem;line-height:2.5rem}[class].md\\\\:line-height-xl{line-height:1.5rem}[class].md\\\\:line-height-3xl{line-height:2rem}[class].md\\\\:line-height-4xl{line-height:2.5rem}[class].md\\\\:justify-center{justify-content:center}[class].md\\\\:justify-start{justify-content:flex-start}[class].md\\\\:justify-end{justify-content:flex-end}[class].md\\\\:justify-between{justify-content:space-between}[class].md\\\\:justify-around{justify-content:space-around}[class].md\\\\:justify-evenly{justify-content:space-evenly}[class].md\\\\:justify-self-auto{justify-self:auto}[class].md\\\\:justify-self-start{justify-self:start}[class].md\\\\:justify-self-end{justify-self:end}[class].md\\\\:justify-self-center{justify-self:center}[class].md\\\\:justify-self-stretch{justify-self:stretch}[class].md\\\\:self-auto{align-self:auto}[class].md\\\\:self-center{align-self:center}[class].md\\\\:self-start{align-self:flex-start}[class].md\\\\:self-end{align-self:flex-end}[class].md\\\\:self-stretch{align-self:stretch}[class].md\\\\:self-baseline{align-self:baseline}[class].md\\\\:items-center{align-items:center}[class].md\\\\:items-start{align-items:flex-start}[class].md\\\\:items-end{align-items:flex-end}[class].md\\\\:items-stretch{align-items:stretch}[class].md\\\\:items-baseline{align-items:baseline}[class].md\\\\:min-h-10{min-height:2.5rem}[class].md\\\\:min-h-12{min-height:3rem}[class].md\\\\:min-h-16{min-height:4rem}[class].md\\\\:min-h-24{min-height:6rem}[class].md\\\\:min-h-36{min-height:9rem}[class].md\\\\:min-w-40{min-width:10rem}[class].md\\\\:min-w-68{min-width:17rem}[class].md\\\\:min-w-76{min-width:19rem}[class].md\\\\:min-h-120{min-height:30rem}[class].md\\\\:min-h-sm{min-height:40rem}[class].md\\\\:min-w-md{min-width:48rem}[class].md\\\\:max-w-20{max-width:5rem}[class].md\\\\:max-w-56{max-width:14rem}[class].md\\\\:max-w-92{max-width:23rem}[class].md\\\\:max-h-sm{max-height:40rem}[class].md\\\\:max-w-md{max-width:48rem}[class].md\\\\:max-w-xl{max-width:80rem}[class].md\\\\:max-w-3\\\\/5{max-width:60%}[class].md\\\\:cols-none{grid-template-columns:repeat(none,minmax(0,1fr))}[class].md\\\\:cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}[class].md\\\\:cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}[class].md\\\\:cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}[class].md\\\\:cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}[class].md\\\\:cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}[class].md\\\\:cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}[class].md\\\\:cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}[class].md\\\\:cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}[class].md\\\\:cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}[class].md\\\\:cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}[class].md\\\\:cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}[class].md\\\\:cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}[class].md\\\\:col-start-auto{grid-column-start:auto}[class].md\\\\:col-end-auto{grid-column-end:auto}[class].md\\\\:col-start-1{grid-column-start:1}[class].md\\\\:col-end-1{grid-column-end:1}[class].md\\\\:col-start-2{grid-column-start:2}[class].md\\\\:col-end-2{grid-column-end:2}[class].md\\\\:col-start-3{grid-column-start:3}[class].md\\\\:col-end-3{grid-column-end:3}[class].md\\\\:col-start-4{grid-column-start:4}[class].md\\\\:col-end-4{grid-column-end:4}[class].md\\\\:col-start-5{grid-column-start:5}[class].md\\\\:col-end-5{grid-column-end:5}[class].md\\\\:col-start-6{grid-column-start:6}[class].md\\\\:col-end-6{grid-column-end:6}[class].md\\\\:col-start-7{grid-column-start:7}[class].md\\\\:col-end-7{grid-column-end:7}[class].md\\\\:col-start-8{grid-column-start:8}[class].md\\\\:col-end-8{grid-column-end:8}[class].md\\\\:col-start-9{grid-column-start:9}[class].md\\\\:col-end-9{grid-column-end:9}[class].md\\\\:col-start-10{grid-column-start:10}[class].md\\\\:col-end-10{grid-column-end:10}[class].md\\\\:col-start-11{grid-column-start:11}[class].md\\\\:col-end-11{grid-column-end:11}[class].md\\\\:col-start-12{grid-column-start:12}[class].md\\\\:col-end-12{grid-column-end:12}[class].md\\\\:row-start-auto{grid-row-start:auto}[class].md\\\\:row-end-auto{grid-row-end:auto}[class].md\\\\:row-start-1{grid-row-start:1}[class].md\\\\:row-end-1{grid-row-end:1}[class].md\\\\:row-start-2{grid-row-start:2}[class].md\\\\:row-end-2{grid-row-end:2}[class].md\\\\:row-start-3{grid-row-start:3}[class].md\\\\:row-end-3{grid-row-end:3}[class].md\\\\:row-start-4{grid-row-start:4}[class].md\\\\:row-end-4{grid-row-end:4}[class].md\\\\:row-start-5{grid-row-start:5}[class].md\\\\:row-end-5{grid-row-end:5}[class].md\\\\:row-start-6{grid-row-start:6}[class].md\\\\:row-end-6{grid-row-end:6}[class].md\\\\:row-start-7{grid-row-start:7}[class].md\\\\:row-end-7{grid-row-end:7}[class].md\\\\:row-start-8{grid-row-start:8}[class].md\\\\:row-end-8{grid-row-end:8}[class].md\\\\:row-start-9{grid-row-start:9}[class].md\\\\:row-end-9{grid-row-end:9}[class].md\\\\:row-start-10{grid-row-start:10}[class].md\\\\:row-end-10{grid-row-end:10}[class].md\\\\:row-start-11{grid-row-start:11}[class].md\\\\:row-end-11{grid-row-end:11}[class].md\\\\:row-start-12{grid-row-start:12}[class].md\\\\:row-end-12{grid-row-end:12}[class].md\\\\:gap-0{gap:0}[class].md\\\\:gap-2{gap:.5rem}[class].md\\\\:gap-4{gap:1rem}[class].md\\\\:gap-5{gap:1.25rem}[class].md\\\\:gap-10{gap:2.5rem}[class].md\\\\:gap-16{gap:4rem}[class].md\\\\:gap-20{gap:5rem}[class].md\\\\:flex-row{flex-direction:row}[class].md\\\\:flex-col{flex-direction:column}[class].md\\\\:flex-row-reverse{flex-direction:row-reverse}[class].md\\\\:flex-col-reverse{flex-direction:column-reverse}[class].md\\\\:shrink-0{flex-shrink:0}[class].md\\\\:shrink-1{flex-shrink:1}[class].md\\\\:grow-0{flex-grow:0}[class].md\\\\:grow-1{flex-grow:1}[class].md\\\\:flex-wrap{flex-wrap:wrap}[class].md\\\\:flex-nowrap{flex-wrap:nowrap}[class].md\\\\:order-first{order:-9999}[class].md\\\\:order-last{order:9999}[class].md\\\\:order-none{order:0}[class].md\\\\:inline-flex{display:inline-flex}[class].md\\\\:block{display:block}[class].md\\\\:flex{display:flex}[class].md\\\\:hidden{display:none}[class].md\\\\:inline{display:inline}[class].md\\\\:hiddenjf{display:none}[class].md\\\\:font-bold{font-weight:700}[class].md\\\\:h-8{height:2rem}[class].md\\\\:h-12{height:3rem}[class].md\\\\:w-12{width:3rem}[class].md\\\\:h-14{height:3.5rem}[class].md\\\\:w-14{width:3.5rem}[class].md\\\\:h-16{height:4rem}[class].md\\\\:w-52{width:13rem}[class].md\\\\:h-64{height:16rem}[class].md\\\\:h-68{height:17rem}[class].md\\\\:w-68{width:17rem}[class].md\\\\:h-120{height:30rem}[class].md\\\\:w-120{width:30rem}[class].md\\\\:h-auto{height:auto}[class].md\\\\:w-auto{width:auto}[class].md\\\\:w-2\\\\/6{width:33.333333%}[class].md\\\\:h-full{height:100%}[class].md\\\\:w-full{width:100%}[class].md\\\\:h-70vh{height:70vh}[class].md\\\\:basis-80{flex-basis:20rem}[class].md\\\\:basis-92{flex-basis:23rem}[class].md\\\\:top-0{top:0}[class].md\\\\:right-0{right:0}[class].md\\\\:right-3{right:.75rem}[class].md\\\\:right-6{right:1.5rem}[class].md\\\\:bottom-9{bottom:2.25rem}[class].md\\\\:top-18{top:4.5rem}[class].md\\\\:top-1\\\\/2{top:50%}[class].md\\\\:left-auto{left:auto}[class].md\\\\:bottom-auto{bottom:auto}[class].md\\\\:radius-none{border-radius:0}[class].md\\\\:radius-tr-none{border-top-right-radius:0}[class].md\\\\:radius-bl-none{border-bottom-left-radius:0}[class].md\\\\:radius-r-md,[class].md\\\\:radius-tr-md{border-top-right-radius:.375rem}[class].md\\\\:radius-r-md{border-bottom-right-radius:.375rem}[class].md\\\\:radius-bl-md{border-bottom-left-radius:.375rem}[class].md\\\\:radius-tl-lg{border-top-left-radius:.5rem}[class].md\\\\:radius-tr-lg{border-top-right-radius:.5rem}[class].md\\\\:radius-bl-lg{border-bottom-left-radius:.5rem}[dir=rtl] [class].md\\\\:rtl\\\\:left-0{left:0}[dir=rtl] [class].md\\\\:rtl\\\\:right-auto{right:auto}[class].md\\\\:-translate-y-1\\\\/2{--translate-y:-50%}[class].md\\\\:ml-0{margin-left:0}[class].md\\\\:mr-0{margin-right:0}[class].md\\\\:mt-0{margin-top:0}[class].md\\\\:mb-0{margin-bottom:0}[class].md\\\\:mb-1{margin-bottom:.25rem}[class].md\\\\:mb-2{margin-bottom:.5rem}[class].md\\\\:ml-3{margin-left:.75rem}[class].md\\\\:mt-4{margin-top:1rem}[class].md\\\\:mb-4{margin-bottom:1rem}[class].md\\\\:mb-5{margin-bottom:1.25rem}[class].md\\\\:-mb-5{margin-bottom:-1.25rem}[class].md\\\\:mt-6{margin-top:1.5rem}[class].md\\\\:mb-6{margin-bottom:1.5rem}[class].md\\\\:mb-7{margin-bottom:1.75rem}[class].md\\\\:my-8{margin-top:2rem;margin-bottom:2rem}[class].md\\\\:mb-8{margin-bottom:2rem}[class].md\\\\:-mt-8{margin-top:-2rem}[class].md\\\\:mx-10{margin-left:2.5rem;margin-right:2.5rem}[class].md\\\\:ml-10{margin-left:2.5rem}[class].md\\\\:mr-10{margin-right:2.5rem}[class].md\\\\:mb-12{margin-bottom:3rem}[class].md\\\\:mb-16{margin-bottom:4rem}[class].md\\\\:mt-18{margin-top:4.5rem}[class].md\\\\:-mt-24{margin-top:-6rem}}@media only screen and (min-width:64rem){[class].lg\\\\:border-t-0{border-top-width:0}[class].lg\\\\:border{border-width:1px}[class].lg\\\\:absolute{position:absolute}[class].lg\\\\:relative{position:relative}[class].lg\\\\:fixed{position:fixed}[class].lg\\\\:static{position:static}[class].lg\\\\:py-0{padding-top:0;padding-bottom:0}[class].lg\\\\:p-2{padding:.5rem}[class].lg\\\\:px-2{padding-left:.5rem;padding-right:.5rem}[class].lg\\\\:px-3{padding-left:.75rem;padding-right:.75rem}[class].lg\\\\:py-3{padding-top:.75rem;padding-bottom:.75rem}[class].lg\\\\:px-4{padding-left:1rem;padding-right:1rem}[class].lg\\\\:px-5{padding-left:1.25rem;padding-right:1.25rem}[class].lg\\\\:pb-6{padding-bottom:1.5rem}[class].lg\\\\:p-8{padding:2rem}[class].lg\\\\:px-8{padding-left:2rem;padding-right:2rem}[class].lg\\\\:py-8{padding-top:2rem;padding-bottom:2rem}[class].lg\\\\:px-12{padding-left:3rem;padding-right:3rem}[class].lg\\\\:pt-12{padding-top:3rem}[class].lg\\\\:px-16{padding-left:4rem;padding-right:4rem}[class].lg\\\\:pb-16{padding-bottom:4rem}[class].lg\\\\:pr-16{padding-right:4rem}[class].lg\\\\:text-xs{font-size:.75rem;line-height:1rem}[class].lg\\\\:text-sm{font-size:.875rem;line-height:1.125rem}[class].lg\\\\:text-md{font-size:1rem;line-height:1.25rem}[class].lg\\\\:text-3xl{font-size:1.75rem;line-height:2rem}[class].lg\\\\:text-4xl{font-size:2rem;line-height:2.5rem}[class].lg\\\\:text-6xl{font-size:2.5rem;line-height:2.875rem}[class].lg\\\\:text-7xl{font-size:3rem;line-height:3.25rem}[class].lg\\\\:line-height-xl{line-height:1.5rem}[class].lg\\\\:line-height-4xl{line-height:2.5rem}[class].lg\\\\:justify-center{justify-content:center}[class].lg\\\\:justify-start{justify-content:flex-start}[class].lg\\\\:justify-end{justify-content:flex-end}[class].lg\\\\:justify-between{justify-content:space-between}[class].lg\\\\:justify-around{justify-content:space-around}[class].lg\\\\:justify-evenly{justify-content:space-evenly}[class].lg\\\\:justify-self-auto{justify-self:auto}[class].lg\\\\:justify-self-start{justify-self:start}[class].lg\\\\:justify-self-end{justify-self:end}[class].lg\\\\:justify-self-center{justify-self:center}[class].lg\\\\:justify-self-stretch{justify-self:stretch}[class].lg\\\\:self-auto{align-self:auto}[class].lg\\\\:self-center{align-self:center}[class].lg\\\\:self-start{align-self:flex-start}[class].lg\\\\:self-end{align-self:flex-end}[class].lg\\\\:self-stretch{align-self:stretch}[class].lg\\\\:self-baseline{align-self:baseline}[class].lg\\\\:items-center{align-items:center}[class].lg\\\\:items-start{align-items:flex-start}[class].lg\\\\:items-end{align-items:flex-end}[class].lg\\\\:items-stretch{align-items:stretch}[class].lg\\\\:items-baseline{align-items:baseline}[class].lg\\\\:min-h-56{min-height:14rem}[class].lg\\\\:min-w-92{min-width:23rem}[class].lg\\\\:min-w-120{min-width:30rem}[class].lg\\\\:min-h-sm{min-height:40rem}[class].lg\\\\:min-h-md{min-height:48rem}[class].lg\\\\:min-w-1\\\\/3{min-width:33.333333%}[class].lg\\\\:max-w-72{max-width:18rem}[class].lg\\\\:max-h-80{max-height:20rem}[class].lg\\\\:max-w-88{max-width:22rem}[class].lg\\\\:max-w-sm{max-width:40rem}[class].lg\\\\:max-w-1\\\\/2{max-width:50%}[class].lg\\\\:max-w-1\\\\/3{max-width:33.333333%}[class].lg\\\\:cols-none{grid-template-columns:repeat(none,minmax(0,1fr))}[class].lg\\\\:cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}[class].lg\\\\:cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}[class].lg\\\\:cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}[class].lg\\\\:cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}[class].lg\\\\:cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}[class].lg\\\\:cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}[class].lg\\\\:cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}[class].lg\\\\:cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}[class].lg\\\\:cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}[class].lg\\\\:cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}[class].lg\\\\:cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}[class].lg\\\\:cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}[class].lg\\\\:col-start-auto{grid-column-start:auto}[class].lg\\\\:col-end-auto{grid-column-end:auto}[class].lg\\\\:col-start-1{grid-column-start:1}[class].lg\\\\:col-end-1{grid-column-end:1}[class].lg\\\\:col-start-2{grid-column-start:2}[class].lg\\\\:col-end-2{grid-column-end:2}[class].lg\\\\:col-start-3{grid-column-start:3}[class].lg\\\\:col-end-3{grid-column-end:3}[class].lg\\\\:col-start-4{grid-column-start:4}[class].lg\\\\:col-end-4{grid-column-end:4}[class].lg\\\\:col-start-5{grid-column-start:5}[class].lg\\\\:col-end-5{grid-column-end:5}[class].lg\\\\:col-start-6{grid-column-start:6}[class].lg\\\\:col-end-6{grid-column-end:6}[class].lg\\\\:col-start-7{grid-column-start:7}[class].lg\\\\:col-end-7{grid-column-end:7}[class].lg\\\\:col-start-8{grid-column-start:8}[class].lg\\\\:col-end-8{grid-column-end:8}[class].lg\\\\:col-start-9{grid-column-start:9}[class].lg\\\\:col-end-9{grid-column-end:9}[class].lg\\\\:col-start-10{grid-column-start:10}[class].lg\\\\:col-end-10{grid-column-end:10}[class].lg\\\\:col-start-11{grid-column-start:11}[class].lg\\\\:col-end-11{grid-column-end:11}[class].lg\\\\:col-start-12{grid-column-start:12}[class].lg\\\\:col-end-12{grid-column-end:12}[class].lg\\\\:row-start-auto{grid-row-start:auto}[class].lg\\\\:row-end-auto{grid-row-end:auto}[class].lg\\\\:row-start-1{grid-row-start:1}[class].lg\\\\:row-end-1{grid-row-end:1}[class].lg\\\\:row-start-2{grid-row-start:2}[class].lg\\\\:row-end-2{grid-row-end:2}[class].lg\\\\:row-start-3{grid-row-start:3}[class].lg\\\\:row-end-3{grid-row-end:3}[class].lg\\\\:row-start-4{grid-row-start:4}[class].lg\\\\:row-end-4{grid-row-end:4}[class].lg\\\\:row-start-5{grid-row-start:5}[class].lg\\\\:row-end-5{grid-row-end:5}[class].lg\\\\:row-start-6{grid-row-start:6}[class].lg\\\\:row-end-6{grid-row-end:6}[class].lg\\\\:row-start-7{grid-row-start:7}[class].lg\\\\:row-end-7{grid-row-end:7}[class].lg\\\\:row-start-8{grid-row-start:8}[class].lg\\\\:row-end-8{grid-row-end:8}[class].lg\\\\:row-start-9{grid-row-start:9}[class].lg\\\\:row-end-9{grid-row-end:9}[class].lg\\\\:row-start-10{grid-row-start:10}[class].lg\\\\:row-end-10{grid-row-end:10}[class].lg\\\\:row-start-11{grid-row-start:11}[class].lg\\\\:row-end-11{grid-row-end:11}[class].lg\\\\:row-start-12{grid-row-start:12}[class].lg\\\\:row-end-12{grid-row-end:12}[class].lg\\\\:gap-0{gap:0}[class].lg\\\\:gap-1{gap:.25rem}[class].lg\\\\:gap-2{gap:.5rem}[class].lg\\\\:gap-3{gap:.75rem}[class].lg\\\\:gap-6{gap:1.5rem}[class].lg\\\\:gap-16{gap:4rem}[class].lg\\\\:flex-row{flex-direction:row}[class].lg\\\\:flex-col{flex-direction:column}[class].lg\\\\:flex-row-reverse{flex-direction:row-reverse}[class].lg\\\\:flex-col-reverse{flex-direction:column-reverse}[class].lg\\\\:shrink-0{flex-shrink:0}[class].lg\\\\:shrink-1{flex-shrink:1}[class].lg\\\\:grow-0{flex-grow:0}[class].lg\\\\:grow-1{flex-grow:1}[class].lg\\\\:flex-wrap{flex-wrap:wrap}[class].lg\\\\:flex-nowrap{flex-wrap:nowrap}[class].lg\\\\:order-first{order:-9999}[class].lg\\\\:order-last{order:9999}[class].lg\\\\:order-none{order:0}[class].lg\\\\:block{display:block}[class].lg\\\\:flex{display:flex}[class].lg\\\\:hidden{display:none}[class].lg\\\\:grid{display:grid}[class].lg\\\\:inline{display:inline}[class].lg\\\\:hiddenjf{display:none}[class].lg\\\\:shadow-3xl{box-shadow:0 32px 64px -12px #10182833}[class].lg\\\\:h-5{height:1.25rem}[class].lg\\\\:w-5{width:1.25rem}[class].lg\\\\:h-8{height:2rem}[class].lg\\\\:w-9{width:2.25rem}[class].lg\\\\:h-16{height:4rem}[class].lg\\\\:w-16{width:4rem}[class].lg\\\\:h-64{height:16rem}[class].lg\\\\:h-92{height:23rem}[class].lg\\\\:w-100{width:25rem}[class].lg\\\\:h-auto{height:auto}[class].lg\\\\:w-auto{width:auto}[class].lg\\\\:w-1\\\\/2{width:50%}[class].lg\\\\:w-1\\\\/4{width:25%}[class].lg\\\\:w-2\\\\/5{width:40%}[class].lg\\\\:w-max{width:-moz-max-content;width:max-content}[class].lg\\\\:top-0{top:0}[class].lg\\\\:-left-20{left:-5rem}[class].lg\\\\:-right-20{right:-5rem}[class].lg\\\\:top-1\\\\/2{top:50%}[class].lg\\\\:top-1\\\\/3{top:33.333333%}[class].lg\\\\:radius-b-none{border-bottom-left-radius:0}[class].lg\\\\:radius-b-none{border-bottom-right-radius:0}[class].lg\\\\:radius-md{border-radius:.375rem}[class].lg\\\\:radius-t-md{border-top-right-radius:.375rem}[class].lg\\\\:radius-t-md{border-top-left-radius:.375rem}[class].lg\\\\:radius-lg{border-radius:.5rem}[class].lg\\\\:radius-full{border-radius:9998px}[dir=rtl] [class].lg\\\\:rtl\\\\:-left-20{left:-5rem}[dir=rtl] [class].lg\\\\:rtl\\\\:-right-20{right:-5rem}[dir=rtl] [class].lg\\\\:rtl\\\\:left-auto{left:auto}[dir=rtl] [class].lg\\\\:rtl\\\\:right-auto{right:auto}[class].lg\\\\:-translate-y-1\\\\/2{--translate-y:-50%}[class].lg\\\\:mt-0{margin-top:0}[class].lg\\\\:mt-2{margin-top:.5rem}[class].lg\\\\:-mt-4{margin-top:-1rem}[class].lg\\\\:mb-5{margin-bottom:1.25rem}[class].lg\\\\:mt-6{margin-top:1.5rem}[class].lg\\\\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}[class].lg\\\\:mt-10{margin-top:2.5rem}[class].lg\\\\:mt-16{margin-top:4rem}}@media only screen and (min-width:80rem){[class].xl\\\\:static{position:static}[class].xl\\\\:px-0{padding-left:0;padding-right:0}[class].xl\\\\:px-1\\\\.5{padding-left:.375rem;padding-right:.375rem}[class].xl\\\\:text-xs{font-size:.75rem;line-height:1rem}[class].xl\\\\:text-md{font-size:1rem;line-height:1.25rem}[class].xl\\\\:text-xl{font-size:1.25rem;line-height:1.5rem}[class].xl\\\\:justify-center{justify-content:center}[class].xl\\\\:justify-start{justify-content:flex-start}[class].xl\\\\:justify-end{justify-content:flex-end}[class].xl\\\\:justify-between{justify-content:space-between}[class].xl\\\\:justify-around{justify-content:space-around}[class].xl\\\\:justify-evenly{justify-content:space-evenly}[class].xl\\\\:justify-self-auto{justify-self:auto}[class].xl\\\\:justify-self-start{justify-self:start}[class].xl\\\\:justify-self-end{justify-self:end}[class].xl\\\\:justify-self-center{justify-self:center}[class].xl\\\\:justify-self-stretch{justify-self:stretch}[class].xl\\\\:self-auto{align-self:auto}[class].xl\\\\:self-center{align-self:center}[class].xl\\\\:self-start{align-self:flex-start}[class].xl\\\\:self-end{align-self:flex-end}[class].xl\\\\:self-stretch{align-self:stretch}[class].xl\\\\:self-baseline{align-self:baseline}[class].xl\\\\:items-center{align-items:center}[class].xl\\\\:items-start{align-items:flex-start}[class].xl\\\\:items-end{align-items:flex-end}[class].xl\\\\:items-stretch{align-items:stretch}[class].xl\\\\:items-baseline{align-items:baseline}[class].xl\\\\:max-w-md{max-width:48rem}[class].xl\\\\:cols-none{grid-template-columns:repeat(none,minmax(0,1fr))}[class].xl\\\\:cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}[class].xl\\\\:cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}[class].xl\\\\:cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}[class].xl\\\\:cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}[class].xl\\\\:cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}[class].xl\\\\:cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}[class].xl\\\\:cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}[class].xl\\\\:cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}[class].xl\\\\:cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}[class].xl\\\\:cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}[class].xl\\\\:cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}[class].xl\\\\:cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}[class].xl\\\\:col-start-auto{grid-column-start:auto}[class].xl\\\\:col-end-auto{grid-column-end:auto}[class].xl\\\\:col-start-1{grid-column-start:1}[class].xl\\\\:col-end-1{grid-column-end:1}[class].xl\\\\:col-start-2{grid-column-start:2}[class].xl\\\\:col-end-2{grid-column-end:2}[class].xl\\\\:col-start-3{grid-column-start:3}[class].xl\\\\:col-end-3{grid-column-end:3}[class].xl\\\\:col-start-4{grid-column-start:4}[class].xl\\\\:col-end-4{grid-column-end:4}[class].xl\\\\:col-start-5{grid-column-start:5}[class].xl\\\\:col-end-5{grid-column-end:5}[class].xl\\\\:col-start-6{grid-column-start:6}[class].xl\\\\:col-end-6{grid-column-end:6}[class].xl\\\\:col-start-7{grid-column-start:7}[class].xl\\\\:col-end-7{grid-column-end:7}[class].xl\\\\:col-start-8{grid-column-start:8}[class].xl\\\\:col-end-8{grid-column-end:8}[class].xl\\\\:col-start-9{grid-column-start:9}[class].xl\\\\:col-end-9{grid-column-end:9}[class].xl\\\\:col-start-10{grid-column-start:10}[class].xl\\\\:col-end-10{grid-column-end:10}[class].xl\\\\:col-start-11{grid-column-start:11}[class].xl\\\\:col-end-11{grid-column-end:11}[class].xl\\\\:col-start-12{grid-column-start:12}[class].xl\\\\:col-end-12{grid-column-end:12}[class].xl\\\\:row-start-auto{grid-row-start:auto}[class].xl\\\\:row-end-auto{grid-row-end:auto}[class].xl\\\\:row-start-1{grid-row-start:1}[class].xl\\\\:row-end-1{grid-row-end:1}[class].xl\\\\:row-start-2{grid-row-start:2}[class].xl\\\\:row-end-2{grid-row-end:2}[class].xl\\\\:row-start-3{grid-row-start:3}[class].xl\\\\:row-end-3{grid-row-end:3}[class].xl\\\\:row-start-4{grid-row-start:4}[class].xl\\\\:row-end-4{grid-row-end:4}[class].xl\\\\:row-start-5{grid-row-start:5}[class].xl\\\\:row-end-5{grid-row-end:5}[class].xl\\\\:row-start-6{grid-row-start:6}[class].xl\\\\:row-end-6{grid-row-end:6}[class].xl\\\\:row-start-7{grid-row-start:7}[class].xl\\\\:row-end-7{grid-row-end:7}[class].xl\\\\:row-start-8{grid-row-start:8}[class].xl\\\\:row-end-8{grid-row-end:8}[class].xl\\\\:row-start-9{grid-row-start:9}[class].xl\\\\:row-end-9{grid-row-end:9}[class].xl\\\\:row-start-10{grid-row-start:10}[class].xl\\\\:row-end-10{grid-row-end:10}[class].xl\\\\:row-start-11{grid-row-start:11}[class].xl\\\\:row-end-11{grid-row-end:11}[class].xl\\\\:row-start-12{grid-row-start:12}[class].xl\\\\:row-end-12{grid-row-end:12}[class].xl\\\\:gap-0{gap:0}[class].xl\\\\:flex-row{flex-direction:row}[class].xl\\\\:flex-col{flex-direction:column}[class].xl\\\\:flex-row-reverse{flex-direction:row-reverse}[class].xl\\\\:flex-col-reverse{flex-direction:column-reverse}[class].xl\\\\:shrink-0{flex-shrink:0}[class].xl\\\\:shrink-1{flex-shrink:1}[class].xl\\\\:grow-0{flex-grow:0}[class].xl\\\\:grow-1{flex-grow:1}[class].xl\\\\:flex-wrap{flex-wrap:wrap}[class].xl\\\\:flex-nowrap{flex-wrap:nowrap}[class].xl\\\\:order-first{order:-9999}[class].xl\\\\:order-last{order:9999}[class].xl\\\\:order-none{order:0}[class].xl\\\\:flex{display:flex}[class].xl\\\\:hidden{display:none}[class].xl\\\\:inline{display:inline}[class].xl\\\\:w-116{width:29rem}[class].xl\\\\:w-auto{width:auto}[class].xl\\\\:scale-100{--scale:1}}@media only screen and (min-width:87.5rem){[class].xxl\\\\:px-4{padding-left:1rem;padding-right:1rem}[class].xxl\\\\:py-4{padding-top:1rem;padding-bottom:1rem}[class].xxl\\\\:pt-5{padding-top:1.25rem}[class].xxl\\\\:pt-6{padding-top:1.5rem}[class].xxl\\\\:px-28{padding-left:7rem;padding-right:7rem}[class].xxl\\\\:text-sm{font-size:.875rem;line-height:1.125rem}[class].xxl\\\\:text-2xl{font-size:1.5rem;line-height:1.75rem}[class].xxl\\\\:text-3xl{font-size:1.75rem;line-height:2rem}[class].xxl\\\\:text-6xl{font-size:2.5rem;line-height:2.875rem}[class].xxl\\\\:line-height-sm{line-height:1.125rem}[class].xxl\\\\:line-height-2xl{line-height:1.75rem}[class].xxl\\\\:justify-center{justify-content:center}[class].xxl\\\\:justify-start{justify-content:flex-start}[class].xxl\\\\:justify-end{justify-content:flex-end}[class].xxl\\\\:justify-between{justify-content:space-between}[class].xxl\\\\:justify-around{justify-content:space-around}[class].xxl\\\\:justify-evenly{justify-content:space-evenly}[class].xxl\\\\:justify-self-auto{justify-self:auto}[class].xxl\\\\:justify-self-start{justify-self:start}[class].xxl\\\\:justify-self-end{justify-self:end}[class].xxl\\\\:justify-self-center{justify-self:center}[class].xxl\\\\:justify-self-stretch{justify-self:stretch}[class].xxl\\\\:self-auto{align-self:auto}[class].xxl\\\\:self-center{align-self:center}[class].xxl\\\\:self-start{align-self:flex-start}[class].xxl\\\\:self-end{align-self:flex-end}[class].xxl\\\\:self-stretch{align-self:stretch}[class].xxl\\\\:self-baseline{align-self:baseline}[class].xxl\\\\:items-center{align-items:center}[class].xxl\\\\:items-start{align-items:flex-start}[class].xxl\\\\:items-end{align-items:flex-end}[class].xxl\\\\:items-stretch{align-items:stretch}[class].xxl\\\\:items-baseline{align-items:baseline}[class].xxl\\\\:cols-none{grid-template-columns:repeat(none,minmax(0,1fr))}[class].xxl\\\\:cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}[class].xxl\\\\:cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}[class].xxl\\\\:cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}[class].xxl\\\\:cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}[class].xxl\\\\:cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}[class].xxl\\\\:cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}[class].xxl\\\\:cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}[class].xxl\\\\:cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}[class].xxl\\\\:cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}[class].xxl\\\\:cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}[class].xxl\\\\:cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}[class].xxl\\\\:cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}[class].xxl\\\\:col-start-auto{grid-column-start:auto}[class].xxl\\\\:col-end-auto{grid-column-end:auto}[class].xxl\\\\:col-start-1{grid-column-start:1}[class].xxl\\\\:col-end-1{grid-column-end:1}[class].xxl\\\\:col-start-2{grid-column-start:2}[class].xxl\\\\:col-end-2{grid-column-end:2}[class].xxl\\\\:col-start-3{grid-column-start:3}[class].xxl\\\\:col-end-3{grid-column-end:3}[class].xxl\\\\:col-start-4{grid-column-start:4}[class].xxl\\\\:col-end-4{grid-column-end:4}[class].xxl\\\\:col-start-5{grid-column-start:5}[class].xxl\\\\:col-end-5{grid-column-end:5}[class].xxl\\\\:col-start-6{grid-column-start:6}[class].xxl\\\\:col-end-6{grid-column-end:6}[class].xxl\\\\:col-start-7{grid-column-start:7}[class].xxl\\\\:col-end-7{grid-column-end:7}[class].xxl\\\\:col-start-8{grid-column-start:8}[class].xxl\\\\:col-end-8{grid-column-end:8}[class].xxl\\\\:col-start-9{grid-column-start:9}[class].xxl\\\\:col-end-9{grid-column-end:9}[class].xxl\\\\:col-start-10{grid-column-start:10}[class].xxl\\\\:col-end-10{grid-column-end:10}[class].xxl\\\\:col-start-11{grid-column-start:11}[class].xxl\\\\:col-end-11{grid-column-end:11}[class].xxl\\\\:col-start-12{grid-column-start:12}[class].xxl\\\\:col-end-12{grid-column-end:12}[class].xxl\\\\:row-start-auto{grid-row-start:auto}[class].xxl\\\\:row-end-auto{grid-row-end:auto}[class].xxl\\\\:row-start-1{grid-row-start:1}[class].xxl\\\\:row-end-1{grid-row-end:1}[class].xxl\\\\:row-start-2{grid-row-start:2}[class].xxl\\\\:row-end-2{grid-row-end:2}[class].xxl\\\\:row-start-3{grid-row-start:3}[class].xxl\\\\:row-end-3{grid-row-end:3}[class].xxl\\\\:row-start-4{grid-row-start:4}[class].xxl\\\\:row-end-4{grid-row-end:4}[class].xxl\\\\:row-start-5{grid-row-start:5}[class].xxl\\\\:row-end-5{grid-row-end:5}[class].xxl\\\\:row-start-6{grid-row-start:6}[class].xxl\\\\:row-end-6{grid-row-end:6}[class].xxl\\\\:row-start-7{grid-row-start:7}[class].xxl\\\\:row-end-7{grid-row-end:7}[class].xxl\\\\:row-start-8{grid-row-start:8}[class].xxl\\\\:row-end-8{grid-row-end:8}[class].xxl\\\\:row-start-9{grid-row-start:9}[class].xxl\\\\:row-end-9{grid-row-end:9}[class].xxl\\\\:row-start-10{grid-row-start:10}[class].xxl\\\\:row-end-10{grid-row-end:10}[class].xxl\\\\:row-start-11{grid-row-start:11}[class].xxl\\\\:row-end-11{grid-row-end:11}[class].xxl\\\\:row-start-12{grid-row-start:12}[class].xxl\\\\:row-end-12{grid-row-end:12}[class].xxl\\\\:gap-0{gap:0}[class].xxl\\\\:flex-row{flex-direction:row}[class].xxl\\\\:flex-col{flex-direction:column}[class].xxl\\\\:flex-row-reverse{flex-direction:row-reverse}[class].xxl\\\\:flex-col-reverse{flex-direction:column-reverse}[class].xxl\\\\:shrink-0{flex-shrink:0}[class].xxl\\\\:shrink-1{flex-shrink:1}[class].xxl\\\\:grow-0{flex-grow:0}[class].xxl\\\\:grow-1{flex-grow:1}[class].xxl\\\\:flex-wrap{flex-wrap:wrap}[class].xxl\\\\:flex-nowrap{flex-wrap:nowrap}[class].xxl\\\\:order-first{order:-9999}[class].xxl\\\\:order-last{order:9999}[class].xxl\\\\:order-none{order:0}[class].xxl\\\\:inline{display:inline}[class].xxl\\\\:w-68{width:17rem}[class].xxl\\\\:w-auto{width:auto}[class].xxl\\\\:mt-0{margin-top:0}[class].xxl\\\\:mb-1{margin-bottom:.25rem}[class].xxl\\\\:mt-5{margin-top:1.25rem}}.placeholder-navy-50::-moz-placeholder{--placeholder-opacity:1;color:rgba(227,229,245,var(--placeholder-opacity))}.placeholder-navy-50::placeholder{--placeholder-opacity:1;color:rgba(227,229,245,var(--placeholder-opacity))}.placeholder-navy-200::-moz-placeholder{--placeholder-opacity:1;color:rgba(151,157,198,var(--placeholder-opacity))}.placeholder-navy-200::placeholder{--placeholder-opacity:1;color:rgba(151,157,198,var(--placeholder-opacity))}.placeholder-navy-300::-moz-placeholder{--placeholder-opacity:1;color:rgba(108,115,168,var(--placeholder-opacity))}.placeholder-navy-300::placeholder{--placeholder-opacity:1;color:rgba(108,115,168,var(--placeholder-opacity))}.border-solid{border-style:solid}.outline-solid{outline-style:solid}.border-dashed{border-style:dashed}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.wrap-nowrap{text-wrap:nowrap}.focus-visible-none:focus-visible{outline:0}.opacity-0{opacity:0}.outline-opacity-0{--outline-opacity:0}.opacity-10{opacity:.1}.bg-opacity-10,.hover\\\\:bg-opacity-10:hover{--bg-opacity:0.1}.opacity-20{opacity:.2}.bg-opacity-20,.hover\\\\:bg-opacity-20:hover{--bg-opacity:0.2}.border-opacity-20{--border-opacity:0.2}.hover\\\\:outline-opacity-20:hover{--outline-opacity:0.2}.opacity-30{opacity:.3}.bg-opacity-30,.hover\\\\:bg-opacity-30:hover{--bg-opacity:0.3}.border-opacity-30{--border-opacity:0.3}.color-opacity-30{--color-opacity:0.3}.hover\\\\:outline-opacity-30:hover{--outline-opacity:0.3}.opacity-40{opacity:.4}.bg-opacity-40,.hover\\\\:bg-opacity-40:hover{--bg-opacity:0.4}.opacity-50{opacity:.5}.bg-opacity-50{--bg-opacity:0.5}.hover\\\\:outline-opacity-50:hover,.outline-opacity-50{--outline-opacity:0.5}.opacity-60{opacity:.6}.bg-opacity-60{--bg-opacity:0.6}.hover\\\\:opacity-70:hover,.opacity-70{opacity:.7}.bg-opacity-70{--bg-opacity:0.7}.group:hover .group-hover\\\\:opacity-80{opacity:.8}.bg-opacity-80{--bg-opacity:0.8}.border-opacity-80,.hover\\\\:border-opacity-80:hover{--border-opacity:0.8}.opacity-90{opacity:.9}.hover\\\\:bg-opacity-90:hover{--bg-opacity:0.9}.group:hover .group-hover\\\\:opacity-100,.hover\\\\:opacity-100:hover,.opacity-100{opacity:1}.border-opacity-100{--border-opacity:1}.focus\\\\:outline-opacity-30:focus{--outline-opacity:0.3}.focus\\\\:bg-opacity-40:focus{--bg-opacity:0.4}.focus\\\\:outline-opacity-50:focus{--outline-opacity:0.5}.focus\\\\:outline-opacity-70:focus{--outline-opacity:0.7}.focus-within\\\\:outline-opacity-30:focus-within{--outline-opacity:0.3}.focus-within\\\\:outline-opacity-50:focus-within{--outline-opacity:0.5}.focus-within\\\\:outline-opacity-100:focus-within{--outline-opacity:1}@media only screen and (min-width:48rem){[class].md\\\\:opacity-100{opacity:1}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".agent-material-contextMenu ul li{padding:0}.agent-material-contextMenu ul li button{padding:10px 0 10px 10px;gap:10px;border:none;cursor:pointer}.agent-material-contextMenu ul li button span{padding-right:40px;width:148px}.agent-material-contextMenu div{width:10px;height:10px;right:10px;left:initial !important;background-color:#252d5b;transform:rotate(45deg) !important}.agent-material-contextMenu[data-popper-placement^=bottom-end]>div{top:-4px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"#agent-preview-root .embedded-agent-container{position:absolute;margin:0;transform:scale(0.75)}#agent-preview-root .embedded-agent-container:not(.align-left){transform-origin:right bottom}#agent-preview-root .embedded-agent-container.align-left{transform-origin:left bottom}@media screen and (max-width: 1024px){#agent-preview-root .embedded-agent-container{transform:scale(0.85)}}#agent-preview-root .chatbox-image{filter:drop-shadow(0 2px 8px rgba(37, 45, 91, 0.04)) drop-shadow(0 16px 24px rgba(84, 95, 111, 0.16))}@media screen and (max-width: 480px){#agent-preview-root .ai-agent-chat-avatar-container{right:0;bottom:0}}#chatbot-app{display:flex;background:url(\\\"https://cdn.jotfor.ms/p/ai-chatbot/assets/img-min/bg.svg\\\") no-repeat right 43px top 65px #fff;padding:64px 110px;overflow:hidden;--sb-track-color: #ffffff;--sb-thumb-color: #DADEF3;--sb-size: 6px}#chatbot-app::-webkit-scrollbar{width:var(--sb-size)}#chatbot-app::-webkit-scrollbar-track{background:var(--sb-track-color);border-radius:3px}#chatbot-app::-webkit-scrollbar-thumb{background:var(--sb-thumb-color);border-radius:3px}@supports not selector(: : -webkit-scrollbar){#chatbot-app{scrollbar-color:var(--sb-thumb-color) var(--sb-track-color)}}#chatbot-app:before{content:\\\"\\\";position:absolute;left:0;top:0;right:0;bottom:0;background:linear-gradient(90deg, rgba(255, 255, 255, 0.95) 19.96%, rgba(255, 255, 255, 0) 80.04%)}@media screen and (max-width: 1024px){#chatbot-app{flex-direction:column;align-items:center;padding:24px;overflow:inherit}#chatbot-app:before,#chatbot-app:after{display:none}}#chatbot-app .content-wrapper{flex:1 1;z-index:1;position:relative;display:flex;flex-direction:column;height:100%;width:100%;max-width:490px}#chatbot-app .content-wrapper[data-step=INITIAL]{justify-content:center;align-items:center}#chatbot-app .content-wrapper--title{margin-bottom:16px}#chatbot-app .content-wrapper--title h2{color:#000;font-size:20px;font-weight:500;line-height:28px;letter-spacing:-0.34px}#chatbot-app .content-wrapper--title p{color:#6c73a8;font-size:14px;line-height:20px;letter-spacing:-0.084px}#chatbot-app .content-wrapper--customization{margin:auto 0}#chatbot-app .content-wrapper--customization-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}#chatbot-app .content-wrapper--customization-title h3{color:#0a1551;font-size:16px;font-weight:700;line-height:24px;letter-spacing:-0.176px}#chatbot-app .content-wrapper--customization-title p{color:#6c73a8;font-size:14px;line-height:20px;letter-spacing:-0.084px}#chatbot-app .content-wrapper--customization-title-toggle{flex-shrink:0;width:42px;height:24px}#chatbot-app .content-wrapper--customization-position{display:flex;gap:8px}@media screen and (max-width: 1024px){#chatbot-app .content-wrapper--customization-position{overflow:scroll}}#chatbot-app .content-wrapper--customization-position li{display:flex;width:100%}#chatbot-app .content-wrapper--customization-position li label{border-radius:4px;border:1px solid #c8ceed;padding:8px 12px;width:100%}#chatbot-app .content-wrapper--customization-position li label span:nth-child(2){display:flex;gap:4px;align-items:center}#chatbot-app .content-wrapper--style{flex:1 1;overflow:scroll;padding-right:12px;margin-right:-12px}#chatbot-app .content-wrapper--style-colors{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}#chatbot-app .content-wrapper--style-colors h3{color:#0a1551;font-size:14px;font-weight:700;line-height:20px;letter-spacing:-0.084px;width:100%}#chatbot-app .content-wrapper--style-colors li{width:51px;height:48px;border-radius:3px;display:flex;padding:6px 7px;cursor:pointer}#chatbot-app .content-wrapper--style-colors li .chatBg{flex:1 1;height:100%;border-radius:3px 0 0 3px}#chatbot-app .content-wrapper--style-colors li .agentBg{width:8px;height:100%;border-radius:0 3px 3px 0}#chatbot-app .content-wrapper--style-color-select{display:flex;flex-wrap:wrap;justify-content:space-between}#chatbot-app .content-wrapper--style-color-select h3{color:#0a1551;font-size:16px;font-weight:700;line-height:24px;letter-spacing:-0.176px;width:100%;margin-bottom:20px}#chatbot-app .content-wrapper--style-color-select h4{color:#0a1551;font-size:14px;font-weight:700;line-height:20px;letter-spacing:-0.084px;display:block;margin-bottom:8px}#chatbot-app .content-wrapper--style-color-select-full{width:100%;margin-bottom:16px}#chatbot-app .content-wrapper--style-color-select-col{width:calc(50% - 5px)}#chatbot-app .content-wrapper--cards{display:flex;flex-wrap:wrap;gap:16px;margin:auto 0}#chatbot-app .content-wrapper--cards li{width:calc(50% - 8px)}#chatbot-app .content-wrapper--list{display:flex;flex-direction:column;gap:8px;margin:auto 0}@media screen and (max-width: 1024px){#chatbot-app .content-wrapper--list{overflow:scroll}}#chatbot-app .content-wrapper--list li{border-radius:8px;background:#fff;border:1px solid #fff;box-shadow:0 1.5px 12.6px 0 rgba(70,38,123,.05);padding:16px;color:#0a1551;font-size:14px;font-weight:500;line-height:20px;letter-spacing:-0.084px;display:flex;cursor:pointer;transition:all .3s}#chatbot-app .content-wrapper--list li.isSelected{border-color:#0075e3;box-shadow:0 4px 8px 0 rgba(84,95,111,.16),0 0 2px 0 rgba(37,45,91,.04)}#chatbot-app .content-wrapper--list li:hover{border-color:#c8ceed}#chatbot-app .content-wrapper--line{border:0;border-top:1px solid #e3e5f5;margin:16px 0}#chatbot-app .content-wrapper--card{width:100%;height:100%;display:flex;flex-direction:column;align-items:start;padding:16px;border-radius:8px;background:#fff;box-shadow:0 1.579px 12.635px 0 rgba(70,38,123,.05);border:1px solid #fff;transition:all .3s}#chatbot-app .content-wrapper--card:hover{box-shadow:0 7px 20px 0 rgba(70,38,123,.1);border-color:#dadef3}#chatbot-app .content-wrapper--card-icon{margin-bottom:16px;padding:6px;border-radius:6px;color:#fff;display:flex}#chatbot-app .content-wrapper--card-icon.green{background-color:#64b200}#chatbot-app .content-wrapper--card-icon.yellow{background-color:#ffb629}#chatbot-app .content-wrapper--card-icon.blue{background-color:#09f}#chatbot-app .content-wrapper--card-icon.darkblue{background-color:#3e62c8}#chatbot-app .content-wrapper--card-title{color:#0a1551;font-size:14px;font-weight:500;line-height:20px;letter-spacing:-0.084px;margin-bottom:2px}#chatbot-app .content-wrapper--card-subtitle{color:#6c73a8;font-size:10px;line-height:16px;letter-spacing:.1px}#chatbot-app .content-wrapper--actions{margin-top:16px;display:flex;justify-content:space-between}#chatbot-app .content-wrapper--actions .lets-start{margin:0 auto}#chatbot-app .content-wrapper--knowledge{overflow-y:scroll;height:100%;width:calc(100% + 36px);padding:4px 12px 16px 24px;margin:-4px -12px 0 -24px}#chatbot-app .content-wrapper--share{display:flex;flex-direction:column;align-items:end;gap:10px;margin-bottom:auto}#chatbot-app .content-wrapper--share p{color:#6c73a8;font-size:14px;line-height:20px;letter-spacing:-0.084px}#chatbot-app .content-wrapper--share-code{background-color:#33384a;width:100%;height:144px;padding:8px 16px;border-radius:4px;display:flex;overflow:scroll}#chatbot-app .content-wrapper--share-code code{word-wrap:break-word;text-wrap:wrap;width:100%;height:100%;font-size:12px;line-height:16px;color:#fff;font-family:Circular,BlinkMacSystemFont,Helvetica}#chatbot-app .agent-preview-text{position:absolute;bottom:-100px;height:68px;display:flex;align-items:center;white-space:nowrap;color:#6c73a8;font-size:14px;line-height:20px;letter-spacing:-0.084px;gap:4px}#chatbot-app .agent-preview-text.align-left{left:80px}#chatbot-app .agent-preview-text.align-right{right:80px}#chatbot-app #agent-preview-root{width:320px;position:relative;z-index:1;-webkit-margin-start:80px;margin-inline-start:80px}@media screen and (max-width: 1024px){#chatbot-app #agent-preview-root{position:absolute;bottom:-100px;width:100%;height:100px;-webkit-margin-start:0;margin-inline-start:0}#chatbot-app #agent-preview-root .chatbox-image{display:none}}#chatbot-app .first-step{display:flex;flex-direction:column;text-align:center;align-items:center;width:416px;margin-bottom:4px}#chatbot-app .first-step h2{color:#0a1551;font-size:28px;font-style:normal;font-weight:700;line-height:40px;letter-spacing:-0.588px}#chatbot-app .first-step p{color:#6c73a8;font-size:16px;line-height:24px;letter-spacing:-0.176px}#chatbot-app .first-step--terms{display:flex;align-items:center;color:#6c73a8;font-size:12px;line-height:16px;margin-top:44px;gap:8px}#chatbot-app .first-step--terms a{color:#0075e3;text-decoration:underline;-webkit-margin-start:-4px;margin-inline-start:-4px}@media screen and (max-width: 1024px){#chatbot-app .first-step{width:100%}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".chatbot-toggle{position:relative;display:inline-flex;width:42px;height:24px;flex-shrink:0}.chatbot-toggle--slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#979dc6;transition:.4s;border-radius:4px}.chatbot-toggle--slider:before{position:absolute;content:\\\"\\\";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:3px;box-shadow:0 4px 8px 0 rgba(84,95,111,.16),0 0 2px 0 rgba(37,45,91,.04)}.chatbot-toggle--input{opacity:0;width:0;height:0}.chatbot-toggle--input:checked+.chatbot-toggle--slider{background-color:#0075e3}.chatbot-toggle--input:checked+.chatbot-toggle--slider:before{transform:translateX(18px)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar defineDataProperty = require('define-data-property');\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar supportsDescriptors = require('has-property-descriptors')();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object) {\n\t\tif (predicate === true) {\n\t\t\tif (object[name] === value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (!isFunction(predicate) || !predicate()) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (supportsDescriptors) {\n\t\tdefineDataProperty(object, name, value, true);\n\t} else {\n\t\tdefineDataProperty(object, name, value);\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","(function(global) {\n 'use strict';\n\n var util = newUtil();\n var inliner = newInliner();\n var fontFaces = newFontFaces();\n var images = newImages();\n\n // Default impl options\n var defaultOptions = {\n // Default is to fail on error, no placeholder\n imagePlaceholder: undefined,\n // Default cache bust is false, it will use the cache\n cacheBust: false,\n // Use (existing) authentication credentials for external URIs (CORS requests)\n useCredentials: false\n };\n\n var domtoimage = {\n toSvg: toSvg,\n toPng: toPng,\n toJpeg: toJpeg,\n toBlob: toBlob,\n toPixelData: toPixelData,\n toCanvas: toCanvas,\n impl: {\n fontFaces: fontFaces,\n images: images,\n util: util,\n inliner: inliner,\n options: {}\n }\n };\n\n if (typeof exports === \"object\" && typeof module === \"object\")\n module.exports = domtoimage;\n else\n global.domtoimage = domtoimage;\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options\n * @param {Function} options.filter - Should return true if passed node should be included in the output\n * (excluding node means excluding it's children as well). Not called on the root node.\n * @param {String} options.bgcolor - color for the background, any valid CSS color value.\n * @param {Number} options.width - width to be applied to node before rendering.\n * @param {Number} options.height - height to be applied to node before rendering.\n * @param {Object} options.style - an object whose properties to be copied to node's style before rendering.\n * @param {Number} options.quality - a Number between 0 and 1 indicating image quality (applicable to JPEG only),\n defaults to 1.0.\n * @param {Number} options.scale - a Number multiplier to scale up the canvas before rendering to reduce fuzzy images, defaults to 1.0.\n * @param {String} options.imagePlaceholder - dataURL to use as a placeholder for failed images, default behaviour is to fail fast on images we can't fetch\n * @param {Boolean} options.cacheBust - set to true to cache bust by appending the time to the request url\n * @return {Promise} - A promise that is fulfilled with a SVG image data URL\n * */\n function toSvg(node, options) {\n options = options || {};\n copyOptions(options);\n return Promise.resolve(node)\n .then(function(node) {\n return cloneNode(node, options.filter, true);\n })\n .then(embedFonts)\n .then(inlineImages)\n .then(applyOptions)\n .then(function(clone) {\n return makeSvgDataUri(clone,\n options.width || util.width(node),\n options.height || util.height(node)\n );\n });\n\n function applyOptions(clone) {\n if (options.bgcolor) clone.style.backgroundColor = options.bgcolor;\n if (options.width) clone.style.width = options.width + 'px';\n if (options.height) clone.style.height = options.height + 'px';\n\n if (options.style)\n Object.keys(options.style).forEach(function(property) {\n clone.style[property] = options.style[property];\n });\n\n return clone;\n }\n }\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a Uint8Array containing RGBA pixel data.\n * */\n function toPixelData(node, options) {\n return draw(node, options || {})\n .then(function(canvas) {\n return canvas.getContext('2d').getImageData(\n 0,\n 0,\n util.width(node),\n util.height(node)\n ).data;\n });\n }\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a PNG image data URL\n * */\n function toPng(node, options) {\n return draw(node, options || {})\n .then(function(canvas) {\n return canvas.toDataURL();\n });\n }\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a JPEG image data URL\n * */\n function toJpeg(node, options) {\n options = options || {};\n return draw(node, options)\n .then(function(canvas) {\n return canvas.toDataURL('image/jpeg', options.quality || 1.0);\n });\n }\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a PNG image blob\n * */\n function toBlob(node, options) {\n return draw(node, options || {})\n .then(util.canvasToBlob);\n }\n\n /**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a canvas object\n * */\n function toCanvas(node, options) {\n return draw(node, options || {});\n }\n\n function copyOptions(options) {\n // Copy options to impl options for use in impl\n if (typeof(options.imagePlaceholder) === 'undefined') {\n domtoimage.impl.options.imagePlaceholder = defaultOptions.imagePlaceholder;\n } else {\n domtoimage.impl.options.imagePlaceholder = options.imagePlaceholder;\n }\n\n if (typeof(options.cacheBust) === 'undefined') {\n domtoimage.impl.options.cacheBust = defaultOptions.cacheBust;\n } else {\n domtoimage.impl.options.cacheBust = options.cacheBust;\n }\n\n if(typeof(options.useCredentials) === 'undefined') {\n domtoimage.impl.options.useCredentials = defaultOptions.useCredentials;\n } else {\n domtoimage.impl.options.useCredentials = options.useCredentials;\n }\n }\n\n function draw(domNode, options) {\n return toSvg(domNode, options)\n .then(util.makeImage)\n .then(util.delay(100))\n .then(function(image) {\n var scale = typeof(options.scale) !== 'number' ? 1 : options.scale;\n var canvas = newCanvas(domNode, scale);\n var ctx = canvas.getContext('2d');\n if (image) {\n ctx.scale(scale, scale);\n ctx.drawImage(image, 0, 0);\n }\n return canvas;\n });\n\n function newCanvas(domNode, scale) {\n var canvas = document.createElement('canvas');\n canvas.width = (options.width || util.width(domNode)) * scale;\n canvas.height = (options.height || util.height(domNode)) * scale;\n\n if (options.bgcolor) {\n var ctx = canvas.getContext('2d');\n ctx.fillStyle = options.bgcolor;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n }\n\n return canvas;\n }\n }\n\n function cloneNode(node, filter, root) {\n if (!root && filter && !filter(node)) return Promise.resolve();\n\n return Promise.resolve(node)\n .then(makeNodeCopy)\n .then(function(clone) {\n return cloneChildren(node, clone, filter);\n })\n .then(function(clone) {\n return processClone(node, clone);\n });\n\n function makeNodeCopy(node) {\n if (node instanceof HTMLCanvasElement) return util.makeImage(node.toDataURL());\n return node.cloneNode(false);\n }\n\n function cloneChildren(original, clone, filter) {\n var children = original.childNodes;\n if (children.length === 0) return Promise.resolve(clone);\n\n return cloneChildrenInOrder(clone, util.asArray(children), filter)\n .then(function() {\n return clone;\n });\n\n function cloneChildrenInOrder(parent, children, filter) {\n var done = Promise.resolve();\n children.forEach(function(child) {\n done = done\n .then(function() {\n return cloneNode(child, filter);\n })\n .then(function(childClone) {\n if (childClone) parent.appendChild(childClone);\n });\n });\n return done;\n }\n }\n\n function processClone(original, clone) {\n if (!(clone instanceof Element)) return clone;\n\n return Promise.resolve()\n .then(cloneStyle)\n .then(clonePseudoElements)\n .then(copyUserInput)\n .then(fixSvg)\n .then(function() {\n return clone;\n });\n\n function cloneStyle() {\n copyStyle(window.getComputedStyle(original), clone.style);\n\n function copyStyle(source, target) {\n if (source.cssText) {\n target.cssText = source.cssText;\n target.font = source.font; // here, we re-assign the font prop.\n } else copyProperties(source, target);\n\n function copyProperties(source, target) {\n util.asArray(source).forEach(function(name) {\n target.setProperty(\n name,\n source.getPropertyValue(name),\n source.getPropertyPriority(name)\n );\n });\n }\n }\n }\n\n function clonePseudoElements() {\n [':before', ':after'].forEach(function(element) {\n clonePseudoElement(element);\n });\n\n function clonePseudoElement(element) {\n var style = window.getComputedStyle(original, element);\n var content = style.getPropertyValue('content');\n\n if (content === '' || content === 'none') return;\n\n var className = util.uid();\n var currentClass = clone.getAttribute('class');\n if (currentClass) {\n clone.setAttribute('class', currentClass + ' ' + className);\n }\n\n var styleElement = document.createElement('style');\n styleElement.appendChild(formatPseudoElementStyle(className, element, style));\n clone.appendChild(styleElement);\n\n function formatPseudoElementStyle(className, element, style) {\n var selector = '.' + className + ':' + element;\n var cssText = style.cssText ? formatCssText(style) : formatCssProperties(style);\n return document.createTextNode(selector + '{' + cssText + '}');\n\n function formatCssText(style) {\n var content = style.getPropertyValue('content');\n return style.cssText + ' content: ' + content + ';';\n }\n\n function formatCssProperties(style) {\n\n return util.asArray(style)\n .map(formatProperty)\n .join('; ') + ';';\n\n function formatProperty(name) {\n return name + ': ' +\n style.getPropertyValue(name) +\n (style.getPropertyPriority(name) ? ' !important' : '');\n }\n }\n }\n }\n }\n\n function copyUserInput() {\n if (original instanceof HTMLTextAreaElement) clone.innerHTML = original.value;\n if (original instanceof HTMLInputElement) clone.setAttribute(\"value\", original.value);\n }\n\n function fixSvg() {\n if (!(clone instanceof SVGElement)) return;\n clone.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\n if (!(clone instanceof SVGRectElement)) return;\n ['width', 'height'].forEach(function(attribute) {\n var value = clone.getAttribute(attribute);\n if (!value) return;\n\n clone.style.setProperty(attribute, value);\n });\n }\n }\n }\n\n function embedFonts(node) {\n return fontFaces.resolveAll()\n .then(function(cssText) {\n var styleNode = document.createElement('style');\n node.appendChild(styleNode);\n styleNode.appendChild(document.createTextNode(cssText));\n return node;\n });\n }\n\n function inlineImages(node) {\n return images.inlineAll(node)\n .then(function() {\n return node;\n });\n }\n\n function makeSvgDataUri(node, width, height) {\n return Promise.resolve(node)\n .then(function(node) {\n node.setAttribute('xmlns', 'http://www.w3.org/1999/xhtml');\n return new XMLSerializer().serializeToString(node);\n })\n .then(util.escapeXhtml)\n .then(function(xhtml) {\n return '' + xhtml + '';\n })\n .then(function(foreignObject) {\n return '' +\n foreignObject + '';\n })\n .then(function(svg) {\n return 'data:image/svg+xml;charset=utf-8,' + svg;\n });\n }\n\n function newUtil() {\n return {\n escape: escape,\n parseExtension: parseExtension,\n mimeType: mimeType,\n dataAsUrl: dataAsUrl,\n isDataUrl: isDataUrl,\n canvasToBlob: canvasToBlob,\n resolveUrl: resolveUrl,\n getAndEncode: getAndEncode,\n uid: uid(),\n delay: delay,\n asArray: asArray,\n escapeXhtml: escapeXhtml,\n makeImage: makeImage,\n width: width,\n height: height\n };\n\n function mimes() {\n /*\n * Only WOFF and EOT mime types for fonts are 'real'\n * see http://www.iana.org/assignments/media-types/media-types.xhtml\n */\n var WOFF = 'application/font-woff';\n var JPEG = 'image/jpeg';\n\n return {\n 'woff': WOFF,\n 'woff2': WOFF,\n 'ttf': 'application/font-truetype',\n 'eot': 'application/vnd.ms-fontobject',\n 'png': 'image/png',\n 'jpg': JPEG,\n 'jpeg': JPEG,\n 'gif': 'image/gif',\n 'tiff': 'image/tiff',\n 'svg': 'image/svg+xml'\n };\n }\n\n function parseExtension(url) {\n var match = /\\.([^\\.\\/]*?)(\\?|$)/g.exec(url);\n if (match) return match[1];\n else return '';\n }\n\n function mimeType(url) {\n var extension = parseExtension(url).toLowerCase();\n return mimes()[extension] || '';\n }\n\n function isDataUrl(url) {\n return url.search(/^(data:)/) !== -1;\n }\n\n function toBlob(canvas) {\n return new Promise(function(resolve) {\n var binaryString = window.atob(canvas.toDataURL().split(',')[1]);\n var length = binaryString.length;\n var binaryArray = new Uint8Array(length);\n\n for (var i = 0; i < length; i++)\n binaryArray[i] = binaryString.charCodeAt(i);\n\n resolve(new Blob([binaryArray], {\n type: 'image/png'\n }));\n });\n }\n\n function canvasToBlob(canvas) {\n if (canvas.toBlob)\n return new Promise(function(resolve) {\n canvas.toBlob(resolve);\n });\n\n return toBlob(canvas);\n }\n\n function resolveUrl(url, baseUrl) {\n var doc = document.implementation.createHTMLDocument();\n var base = doc.createElement('base');\n doc.head.appendChild(base);\n var a = doc.createElement('a');\n doc.body.appendChild(a);\n base.href = baseUrl;\n a.href = url;\n return a.href;\n }\n\n function uid() {\n var index = 0;\n\n return function() {\n return 'u' + fourRandomChars() + index++;\n\n function fourRandomChars() {\n /* see http://stackoverflow.com/a/6248722/2519373 */\n return ('0000' + (Math.random() * Math.pow(36, 4) << 0).toString(36)).slice(-4);\n }\n };\n }\n\n function makeImage(uri) {\n if (uri === 'data:,') return Promise.resolve();\n return new Promise(function(resolve, reject) {\n var image = new Image();\n if(domtoimage.impl.options.useCredentials) {\n image.crossOrigin = 'use-credentials';\n }\n image.onload = function() {\n resolve(image);\n };\n image.onerror = reject;\n image.src = uri;\n });\n }\n\n function getAndEncode(url) {\n var TIMEOUT = 30000;\n if (domtoimage.impl.options.cacheBust) {\n // Cache bypass so we dont have CORS issues with cached images\n // Source: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache\n url += ((/\\?/).test(url) ? \"&\" : \"?\") + (new Date()).getTime();\n }\n\n return new Promise(function(resolve) {\n var request = new XMLHttpRequest();\n\n request.onreadystatechange = done;\n request.ontimeout = timeout;\n request.responseType = 'blob';\n request.timeout = TIMEOUT;\n if(domtoimage.impl.options.useCredentials) {\n request.withCredentials = true;\n }\n request.open('GET', url, true);\n request.send();\n\n var placeholder;\n if (domtoimage.impl.options.imagePlaceholder) {\n var split = domtoimage.impl.options.imagePlaceholder.split(/,/);\n if (split && split[1]) {\n placeholder = split[1];\n }\n }\n\n function done() {\n if (request.readyState !== 4) return;\n\n if (request.status !== 200) {\n if (placeholder) {\n resolve(placeholder);\n } else {\n fail('cannot fetch resource: ' + url + ', status: ' + request.status);\n }\n\n return;\n }\n\n var encoder = new FileReader();\n encoder.onloadend = function() {\n var content = encoder.result.split(/,/)[1];\n resolve(content);\n };\n encoder.readAsDataURL(request.response);\n }\n\n function timeout() {\n if (placeholder) {\n resolve(placeholder);\n } else {\n fail('timeout of ' + TIMEOUT + 'ms occured while fetching resource: ' + url);\n }\n }\n\n function fail(message) {\n console.error(message);\n resolve('');\n }\n });\n }\n\n function dataAsUrl(content, type) {\n return 'data:' + type + ';base64,' + content;\n }\n\n function escape(string) {\n return string.replace(/([.*+?^${}()|\\[\\]\\/\\\\])/g, '\\\\$1');\n }\n\n function delay(ms) {\n return function(arg) {\n return new Promise(function(resolve) {\n setTimeout(function() {\n resolve(arg);\n }, ms);\n });\n };\n }\n\n function asArray(arrayLike) {\n var array = [];\n var length = arrayLike.length;\n for (var i = 0; i < length; i++) array.push(arrayLike[i]);\n return array;\n }\n\n function escapeXhtml(string) {\n return string.replace(/#/g, '%23').replace(/\\n/g, '%0A');\n }\n\n function width(node) {\n var leftBorder = px(node, 'border-left-width');\n var rightBorder = px(node, 'border-right-width');\n return node.scrollWidth + leftBorder + rightBorder;\n }\n\n function height(node) {\n var topBorder = px(node, 'border-top-width');\n var bottomBorder = px(node, 'border-bottom-width');\n return node.scrollHeight + topBorder + bottomBorder;\n }\n\n function px(node, styleProperty) {\n var value = window.getComputedStyle(node).getPropertyValue(styleProperty);\n return parseFloat(value.replace('px', ''));\n }\n }\n\n function newInliner() {\n var URL_REGEX = /url\\(['\"]?([^'\"]+?)['\"]?\\)/g;\n\n return {\n inlineAll: inlineAll,\n shouldProcess: shouldProcess,\n impl: {\n readUrls: readUrls,\n inline: inline\n }\n };\n\n function shouldProcess(string) {\n return string.search(URL_REGEX) !== -1;\n }\n\n function readUrls(string) {\n var result = [];\n var match;\n while ((match = URL_REGEX.exec(string)) !== null) {\n result.push(match[1]);\n }\n return result.filter(function(url) {\n return !util.isDataUrl(url);\n });\n }\n\n function inline(string, url, baseUrl, get) {\n return Promise.resolve(url)\n .then(function(url) {\n return baseUrl ? util.resolveUrl(url, baseUrl) : url;\n })\n .then(get || util.getAndEncode)\n .then(function(data) {\n return util.dataAsUrl(data, util.mimeType(url));\n })\n .then(function(dataUrl) {\n return string.replace(urlAsRegex(url), '$1' + dataUrl + '$3');\n });\n\n function urlAsRegex(url) {\n return new RegExp('(url\\\\([\\'\"]?)(' + util.escape(url) + ')([\\'\"]?\\\\))', 'g');\n }\n }\n\n function inlineAll(string, baseUrl, get) {\n if (nothingToInline()) return Promise.resolve(string);\n\n return Promise.resolve(string)\n .then(readUrls)\n .then(function(urls) {\n var done = Promise.resolve(string);\n urls.forEach(function(url) {\n done = done.then(function(string) {\n return inline(string, url, baseUrl, get);\n });\n });\n return done;\n });\n\n function nothingToInline() {\n return !shouldProcess(string);\n }\n }\n }\n\n function newFontFaces() {\n return {\n resolveAll: resolveAll,\n impl: {\n readAll: readAll\n }\n };\n\n function resolveAll() {\n return readAll(document)\n .then(function(webFonts) {\n return Promise.all(\n webFonts.map(function(webFont) {\n return webFont.resolve();\n })\n );\n })\n .then(function(cssStrings) {\n return cssStrings.join('\\n');\n });\n }\n\n function readAll() {\n return Promise.resolve(util.asArray(document.styleSheets))\n .then(getCssRules)\n .then(selectWebFontRules)\n .then(function(rules) {\n return rules.map(newWebFont);\n });\n\n function selectWebFontRules(cssRules) {\n return cssRules\n .filter(function(rule) {\n return rule.type === CSSRule.FONT_FACE_RULE;\n })\n .filter(function(rule) {\n return inliner.shouldProcess(rule.style.getPropertyValue('src'));\n });\n }\n\n function getCssRules(styleSheets) {\n var cssRules = [];\n styleSheets.forEach(function(sheet) {\n if (sheet.hasOwnProperty(\"cssRules\")) {\n try {\n util.asArray(sheet.cssRules || []).forEach(cssRules.push.bind(cssRules));\n } catch (e) {\n console.log('Error while reading CSS rules from ' + sheet.href, e.toString());\n }\n }\n });\n return cssRules;\n }\n\n function newWebFont(webFontRule) {\n return {\n resolve: function resolve() {\n var baseUrl = (webFontRule.parentStyleSheet || {}).href;\n return inliner.inlineAll(webFontRule.cssText, baseUrl);\n },\n src: function() {\n return webFontRule.style.getPropertyValue('src');\n }\n };\n }\n }\n }\n\n function newImages() {\n return {\n inlineAll: inlineAll,\n impl: {\n newImage: newImage\n }\n };\n\n function newImage(element) {\n return {\n inline: inline\n };\n\n function inline(get) {\n if (util.isDataUrl(element.src)) return Promise.resolve();\n\n return Promise.resolve(element.src)\n .then(get || util.getAndEncode)\n .then(function(data) {\n return util.dataAsUrl(data, util.mimeType(element.src));\n })\n .then(function(dataUrl) {\n return new Promise(function(resolve, reject) {\n element.onload = resolve;\n // for any image with invalid src(such as ), just ignore it\n element.onerror = resolve;\n element.src = dataUrl;\n });\n });\n }\n }\n\n function inlineAll(node) {\n if (!(node instanceof Element)) return Promise.resolve(node);\n\n return inlineBackground(node)\n .then(function() {\n if (node instanceof HTMLImageElement)\n return newImage(node).inline();\n else\n return Promise.all(\n util.asArray(node.childNodes).map(function(child) {\n return inlineAll(child);\n })\n );\n });\n\n function inlineBackground(node) {\n var background = node.style.getPropertyValue('background');\n\n if (!background) return Promise.resolve(node);\n\n return inliner.inlineAll(background)\n .then(function(inlined) {\n node.style.setProperty(\n 'background',\n inlined,\n node.style.getPropertyPriority('background')\n );\n })\n .then(function() {\n return node;\n });\n }\n }\n }\n})(this);\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\n\n/** @type {import('./RequireObjectCoercible')} */\nmodule.exports = function RequireObjectCoercible(value) {\n\tif (value == null) {\n\t\tthrow new $TypeError((arguments.length > 0 && arguments[1]) || ('Cannot call method on ' + value));\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n};\n\nvar forEachString = function forEachString(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n};\n\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n};\n\nvar forEach = function forEach(list, iterator, thisArg) {\n if (!isCallable(iterator)) {\n throw new TypeError('iterator must be a function');\n }\n\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n\n if (toStr.call(list) === '[object Array]') {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === 'string') {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n};\n\nmodule.exports = forEach;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar test = {\n\t__proto__: null,\n\tfoo: {}\n};\n\nvar $Object = Object;\n\n/** @type {import('.')} */\nmodule.exports = function hasProto() {\n\t// @ts-expect-error: TS errors on an inherited property for some reason\n\treturn { __proto__: test }.foo === test.foo\n\t\t&& !(test instanceof $Object);\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasOwnProperty = {}.hasOwnProperty;\nvar call = Function.prototype.call;\n\nmodule.exports = call.bind ? call.bind(hasOwnProperty) : function (O, P) {\n return call.call(hasOwnProperty, O, P);\n};\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","/*jshint node:true */\n/* globals define */\n/*\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n*/\n\n'use strict';\n\n/**\nThe following batches are equivalent:\n\nvar beautify_js = require('js-beautify');\nvar beautify_js = require('js-beautify').js;\nvar beautify_js = require('js-beautify').js_beautify;\n\nvar beautify_css = require('js-beautify').css;\nvar beautify_css = require('js-beautify').css_beautify;\n\nvar beautify_html = require('js-beautify').html;\nvar beautify_html = require('js-beautify').html_beautify;\n\nAll methods returned accept two arguments, the source string and an options object.\n**/\n\nfunction get_beautify(js_beautify, css_beautify, html_beautify) {\n // the default is js\n var beautify = function(src, config) {\n return js_beautify.js_beautify(src, config);\n };\n\n // short aliases\n beautify.js = js_beautify.js_beautify;\n beautify.css = css_beautify.css_beautify;\n beautify.html = html_beautify.html_beautify;\n\n // legacy aliases\n beautify.js_beautify = js_beautify.js_beautify;\n beautify.css_beautify = css_beautify.css_beautify;\n beautify.html_beautify = html_beautify.html_beautify;\n\n return beautify;\n}\n\nif (typeof define === \"function\" && define.amd) {\n // Add support for AMD ( https://github.com/amdjs/amdjs-api/wiki/AMD#defineamd-property- )\n define([\n \"./lib/beautify\",\n \"./lib/beautify-css\",\n \"./lib/beautify-html\"\n ], function(js_beautify, css_beautify, html_beautify) {\n return get_beautify(js_beautify, css_beautify, html_beautify);\n });\n} else {\n (function(mod) {\n var beautifier = require('./src/index');\n beautifier.js_beautify = beautifier.js;\n beautifier.css_beautify = beautifier.css;\n beautifier.html_beautify = beautifier.html;\n\n mod.exports = get_beautify(beautifier, beautifier, beautifier);\n\n })(module);\n}","/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n'use strict';\n\nfunction Directives(start_block_pattern, end_block_pattern) {\n start_block_pattern = typeof start_block_pattern === 'string' ? start_block_pattern : start_block_pattern.source;\n end_block_pattern = typeof end_block_pattern === 'string' ? end_block_pattern : end_block_pattern.source;\n this.__directives_block_pattern = new RegExp(start_block_pattern + / beautify( \\w+[:]\\w+)+ /.source + end_block_pattern, 'g');\n this.__directive_pattern = / (\\w+)[:](\\w+)/g;\n\n this.__directives_end_ignore_pattern = new RegExp(start_block_pattern + /\\sbeautify\\signore:end\\s/.source + end_block_pattern, 'g');\n}\n\nDirectives.prototype.get_directives = function(text) {\n if (!text.match(this.__directives_block_pattern)) {\n return null;\n }\n\n var directives = {};\n this.__directive_pattern.lastIndex = 0;\n var directive_match = this.__directive_pattern.exec(text);\n\n while (directive_match) {\n directives[directive_match[1]] = directive_match[2];\n directive_match = this.__directive_pattern.exec(text);\n }\n\n return directives;\n};\n\nDirectives.prototype.readIgnored = function(input) {\n return input.readUntilAfter(this.__directives_end_ignore_pattern);\n};\n\n\nmodule.exports.Directives = Directives;\n","/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n'use strict';\n\nvar regexp_has_sticky = RegExp.prototype.hasOwnProperty('sticky');\n\nfunction InputScanner(input_string) {\n this.__input = input_string || '';\n this.__input_length = this.__input.length;\n this.__position = 0;\n}\n\nInputScanner.prototype.restart = function() {\n this.__position = 0;\n};\n\nInputScanner.prototype.back = function() {\n if (this.__position > 0) {\n this.__position -= 1;\n }\n};\n\nInputScanner.prototype.hasNext = function() {\n return this.__position < this.__input_length;\n};\n\nInputScanner.prototype.next = function() {\n var val = null;\n if (this.hasNext()) {\n val = this.__input.charAt(this.__position);\n this.__position += 1;\n }\n return val;\n};\n\nInputScanner.prototype.peek = function(index) {\n var val = null;\n index = index || 0;\n index += this.__position;\n if (index >= 0 && index < this.__input_length) {\n val = this.__input.charAt(index);\n }\n return val;\n};\n\n// This is a JavaScript only helper function (not in python)\n// Javascript doesn't have a match method\n// and not all implementation support \"sticky\" flag.\n// If they do not support sticky then both this.match() and this.test() method\n// must get the match and check the index of the match.\n// If sticky is supported and set, this method will use it.\n// Otherwise it will check that global is set, and fall back to the slower method.\nInputScanner.prototype.__match = function(pattern, index) {\n pattern.lastIndex = index;\n var pattern_match = pattern.exec(this.__input);\n\n if (pattern_match && !(regexp_has_sticky && pattern.sticky)) {\n if (pattern_match.index !== index) {\n pattern_match = null;\n }\n }\n\n return pattern_match;\n};\n\nInputScanner.prototype.test = function(pattern, index) {\n index = index || 0;\n index += this.__position;\n\n if (index >= 0 && index < this.__input_length) {\n return !!this.__match(pattern, index);\n } else {\n return false;\n }\n};\n\nInputScanner.prototype.testChar = function(pattern, index) {\n // test one character regex match\n var val = this.peek(index);\n pattern.lastIndex = 0;\n return val !== null && pattern.test(val);\n};\n\nInputScanner.prototype.match = function(pattern) {\n var pattern_match = this.__match(pattern, this.__position);\n if (pattern_match) {\n this.__position += pattern_match[0].length;\n } else {\n pattern_match = null;\n }\n return pattern_match;\n};\n\nInputScanner.prototype.read = function(starting_pattern, until_pattern, until_after) {\n var val = '';\n var match;\n if (starting_pattern) {\n match = this.match(starting_pattern);\n if (match) {\n val += match[0];\n }\n }\n if (until_pattern && (match || !starting_pattern)) {\n val += this.readUntil(until_pattern, until_after);\n }\n return val;\n};\n\nInputScanner.prototype.readUntil = function(pattern, until_after) {\n var val = '';\n var match_index = this.__position;\n pattern.lastIndex = this.__position;\n var pattern_match = pattern.exec(this.__input);\n if (pattern_match) {\n match_index = pattern_match.index;\n if (until_after) {\n match_index += pattern_match[0].length;\n }\n } else {\n match_index = this.__input_length;\n }\n\n val = this.__input.substring(this.__position, match_index);\n this.__position = match_index;\n return val;\n};\n\nInputScanner.prototype.readUntilAfter = function(pattern) {\n return this.readUntil(pattern, true);\n};\n\nInputScanner.prototype.get_regexp = function(pattern, match_from) {\n var result = null;\n var flags = 'g';\n if (match_from && regexp_has_sticky) {\n flags = 'y';\n }\n // strings are converted to regexp\n if (typeof pattern === \"string\" && pattern !== '') {\n // result = new RegExp(pattern.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'), flags);\n result = new RegExp(pattern, flags);\n } else if (pattern) {\n result = new RegExp(pattern.source, flags);\n }\n return result;\n};\n\nInputScanner.prototype.get_literal_regexp = function(literal_string) {\n return RegExp(literal_string.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'));\n};\n\n/* css beautifier legacy helpers */\nInputScanner.prototype.peekUntilAfter = function(pattern) {\n var start = this.__position;\n var val = this.readUntilAfter(pattern);\n this.__position = start;\n return val;\n};\n\nInputScanner.prototype.lookBack = function(testVal) {\n var start = this.__position - 1;\n return start >= testVal.length && this.__input.substring(start - testVal.length, start)\n .toLowerCase() === testVal;\n};\n\nmodule.exports.InputScanner = InputScanner;\n","/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n'use strict';\n\nfunction Options(options, merge_child_field) {\n this.raw_options = _mergeOpts(options, merge_child_field);\n\n // Support passing the source text back with no change\n this.disabled = this._get_boolean('disabled');\n\n this.eol = this._get_characters('eol', 'auto');\n this.end_with_newline = this._get_boolean('end_with_newline');\n this.indent_size = this._get_number('indent_size', 4);\n this.indent_char = this._get_characters('indent_char', ' ');\n this.indent_level = this._get_number('indent_level');\n\n this.preserve_newlines = this._get_boolean('preserve_newlines', true);\n this.max_preserve_newlines = this._get_number('max_preserve_newlines', 32786);\n if (!this.preserve_newlines) {\n this.max_preserve_newlines = 0;\n }\n\n this.indent_with_tabs = this._get_boolean('indent_with_tabs', this.indent_char === '\\t');\n if (this.indent_with_tabs) {\n this.indent_char = '\\t';\n\n // indent_size behavior changed after 1.8.6\n // It used to be that indent_size would be\n // set to 1 for indent_with_tabs. That is no longer needed and\n // actually doesn't make sense - why not use spaces? Further,\n // that might produce unexpected behavior - tabs being used\n // for single-column alignment. So, when indent_with_tabs is true\n // and indent_size is 1, reset indent_size to 4.\n if (this.indent_size === 1) {\n this.indent_size = 4;\n }\n }\n\n // Backwards compat with 1.3.x\n this.wrap_line_length = this._get_number('wrap_line_length', this._get_number('max_char'));\n\n this.indent_empty_lines = this._get_boolean('indent_empty_lines');\n\n // valid templating languages ['django', 'erb', 'handlebars', 'php', 'smarty']\n // For now, 'auto' = all off for javascript, all on for html (and inline javascript).\n // other values ignored\n this.templating = this._get_selection_list('templating', ['auto', 'none', 'django', 'erb', 'handlebars', 'php', 'smarty'], ['auto']);\n}\n\nOptions.prototype._get_array = function(name, default_value) {\n var option_value = this.raw_options[name];\n var result = default_value || [];\n if (typeof option_value === 'object') {\n if (option_value !== null && typeof option_value.concat === 'function') {\n result = option_value.concat();\n }\n } else if (typeof option_value === 'string') {\n result = option_value.split(/[^a-zA-Z0-9_\\/\\-]+/);\n }\n return result;\n};\n\nOptions.prototype._get_boolean = function(name, default_value) {\n var option_value = this.raw_options[name];\n var result = option_value === undefined ? !!default_value : !!option_value;\n return result;\n};\n\nOptions.prototype._get_characters = function(name, default_value) {\n var option_value = this.raw_options[name];\n var result = default_value || '';\n if (typeof option_value === 'string') {\n result = option_value.replace(/\\\\r/, '\\r').replace(/\\\\n/, '\\n').replace(/\\\\t/, '\\t');\n }\n return result;\n};\n\nOptions.prototype._get_number = function(name, default_value) {\n var option_value = this.raw_options[name];\n default_value = parseInt(default_value, 10);\n if (isNaN(default_value)) {\n default_value = 0;\n }\n var result = parseInt(option_value, 10);\n if (isNaN(result)) {\n result = default_value;\n }\n return result;\n};\n\nOptions.prototype._get_selection = function(name, selection_list, default_value) {\n var result = this._get_selection_list(name, selection_list, default_value);\n if (result.length !== 1) {\n throw new Error(\n \"Invalid Option Value: The option '\" + name + \"' can only be one of the following values:\\n\" +\n selection_list + \"\\nYou passed in: '\" + this.raw_options[name] + \"'\");\n }\n\n return result[0];\n};\n\n\nOptions.prototype._get_selection_list = function(name, selection_list, default_value) {\n if (!selection_list || selection_list.length === 0) {\n throw new Error(\"Selection list cannot be empty.\");\n }\n\n default_value = default_value || [selection_list[0]];\n if (!this._is_valid_selection(default_value, selection_list)) {\n throw new Error(\"Invalid Default Value!\");\n }\n\n var result = this._get_array(name, default_value);\n if (!this._is_valid_selection(result, selection_list)) {\n throw new Error(\n \"Invalid Option Value: The option '\" + name + \"' can contain only the following values:\\n\" +\n selection_list + \"\\nYou passed in: '\" + this.raw_options[name] + \"'\");\n }\n\n return result;\n};\n\nOptions.prototype._is_valid_selection = function(result, selection_list) {\n return result.length && selection_list.length &&\n !result.some(function(item) { return selection_list.indexOf(item) === -1; });\n};\n\n\n// merges child options up with the parent options object\n// Example: obj = {a: 1, b: {a: 2}}\n// mergeOpts(obj, 'b')\n//\n// Returns: {a: 2}\nfunction _mergeOpts(allOptions, childFieldName) {\n var finalOpts = {};\n allOptions = _normalizeOpts(allOptions);\n var name;\n\n for (name in allOptions) {\n if (name !== childFieldName) {\n finalOpts[name] = allOptions[name];\n }\n }\n\n //merge in the per type settings for the childFieldName\n if (childFieldName && allOptions[childFieldName]) {\n for (name in allOptions[childFieldName]) {\n finalOpts[name] = allOptions[childFieldName][name];\n }\n }\n return finalOpts;\n}\n\nfunction _normalizeOpts(options) {\n var convertedOpts = {};\n var key;\n\n for (key in options) {\n var newKey = key.replace(/-/g, \"_\");\n convertedOpts[newKey] = options[key];\n }\n return convertedOpts;\n}\n\nmodule.exports.Options = Options;\nmodule.exports.normalizeOpts = _normalizeOpts;\nmodule.exports.mergeOpts = _mergeOpts;\n","/*jshint node:true */\n/*\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n'use strict';\n\nfunction OutputLine(parent) {\n this.__parent = parent;\n this.__character_count = 0;\n // use indent_count as a marker for this.__lines that have preserved indentation\n this.__indent_count = -1;\n this.__alignment_count = 0;\n this.__wrap_point_index = 0;\n this.__wrap_point_character_count = 0;\n this.__wrap_point_indent_count = -1;\n this.__wrap_point_alignment_count = 0;\n\n this.__items = [];\n}\n\nOutputLine.prototype.clone_empty = function() {\n var line = new OutputLine(this.__parent);\n line.set_indent(this.__indent_count, this.__alignment_count);\n return line;\n};\n\nOutputLine.prototype.item = function(index) {\n if (index < 0) {\n return this.__items[this.__items.length + index];\n } else {\n return this.__items[index];\n }\n};\n\nOutputLine.prototype.has_match = function(pattern) {\n for (var lastCheckedOutput = this.__items.length - 1; lastCheckedOutput >= 0; lastCheckedOutput--) {\n if (this.__items[lastCheckedOutput].match(pattern)) {\n return true;\n }\n }\n return false;\n};\n\nOutputLine.prototype.set_indent = function(indent, alignment) {\n if (this.is_empty()) {\n this.__indent_count = indent || 0;\n this.__alignment_count = alignment || 0;\n this.__character_count = this.__parent.get_indent_size(this.__indent_count, this.__alignment_count);\n }\n};\n\nOutputLine.prototype._set_wrap_point = function() {\n if (this.__parent.wrap_line_length) {\n this.__wrap_point_index = this.__items.length;\n this.__wrap_point_character_count = this.__character_count;\n this.__wrap_point_indent_count = this.__parent.next_line.__indent_count;\n this.__wrap_point_alignment_count = this.__parent.next_line.__alignment_count;\n }\n};\n\nOutputLine.prototype._should_wrap = function() {\n return this.__wrap_point_index &&\n this.__character_count > this.__parent.wrap_line_length &&\n this.__wrap_point_character_count > this.__parent.next_line.__character_count;\n};\n\nOutputLine.prototype._allow_wrap = function() {\n if (this._should_wrap()) {\n this.__parent.add_new_line();\n var next = this.__parent.current_line;\n next.set_indent(this.__wrap_point_indent_count, this.__wrap_point_alignment_count);\n next.__items = this.__items.slice(this.__wrap_point_index);\n this.__items = this.__items.slice(0, this.__wrap_point_index);\n\n next.__character_count += this.__character_count - this.__wrap_point_character_count;\n this.__character_count = this.__wrap_point_character_count;\n\n if (next.__items[0] === \" \") {\n next.__items.splice(0, 1);\n next.__character_count -= 1;\n }\n return true;\n }\n return false;\n};\n\nOutputLine.prototype.is_empty = function() {\n return this.__items.length === 0;\n};\n\nOutputLine.prototype.last = function() {\n if (!this.is_empty()) {\n return this.__items[this.__items.length - 1];\n } else {\n return null;\n }\n};\n\nOutputLine.prototype.push = function(item) {\n this.__items.push(item);\n var last_newline_index = item.lastIndexOf('\\n');\n if (last_newline_index !== -1) {\n this.__character_count = item.length - last_newline_index;\n } else {\n this.__character_count += item.length;\n }\n};\n\nOutputLine.prototype.pop = function() {\n var item = null;\n if (!this.is_empty()) {\n item = this.__items.pop();\n this.__character_count -= item.length;\n }\n return item;\n};\n\n\nOutputLine.prototype._remove_indent = function() {\n if (this.__indent_count > 0) {\n this.__indent_count -= 1;\n this.__character_count -= this.__parent.indent_size;\n }\n};\n\nOutputLine.prototype._remove_wrap_indent = function() {\n if (this.__wrap_point_indent_count > 0) {\n this.__wrap_point_indent_count -= 1;\n }\n};\nOutputLine.prototype.trim = function() {\n while (this.last() === ' ') {\n this.__items.pop();\n this.__character_count -= 1;\n }\n};\n\nOutputLine.prototype.toString = function() {\n var result = '';\n if (this.is_empty()) {\n if (this.__parent.indent_empty_lines) {\n result = this.__parent.get_indent_string(this.__indent_count);\n }\n } else {\n result = this.__parent.get_indent_string(this.__indent_count, this.__alignment_count);\n result += this.__items.join('');\n }\n return result;\n};\n\nfunction IndentStringCache(options, baseIndentString) {\n this.__cache = [''];\n this.__indent_size = options.indent_size;\n this.__indent_string = options.indent_char;\n if (!options.indent_with_tabs) {\n this.__indent_string = new Array(options.indent_size + 1).join(options.indent_char);\n }\n\n // Set to null to continue support for auto detection of base indent\n baseIndentString = baseIndentString || '';\n if (options.indent_level > 0) {\n baseIndentString = new Array(options.indent_level + 1).join(this.__indent_string);\n }\n\n this.__base_string = baseIndentString;\n this.__base_string_length = baseIndentString.length;\n}\n\nIndentStringCache.prototype.get_indent_size = function(indent, column) {\n var result = this.__base_string_length;\n column = column || 0;\n if (indent < 0) {\n result = 0;\n }\n result += indent * this.__indent_size;\n result += column;\n return result;\n};\n\nIndentStringCache.prototype.get_indent_string = function(indent_level, column) {\n var result = this.__base_string;\n column = column || 0;\n if (indent_level < 0) {\n indent_level = 0;\n result = '';\n }\n column += indent_level * this.__indent_size;\n this.__ensure_cache(column);\n result += this.__cache[column];\n return result;\n};\n\nIndentStringCache.prototype.__ensure_cache = function(column) {\n while (column >= this.__cache.length) {\n this.__add_column();\n }\n};\n\nIndentStringCache.prototype.__add_column = function() {\n var column = this.__cache.length;\n var indent = 0;\n var result = '';\n if (this.__indent_size && column >= this.__indent_size) {\n indent = Math.floor(column / this.__indent_size);\n column -= indent * this.__indent_size;\n result = new Array(indent + 1).join(this.__indent_string);\n }\n if (column) {\n result += new Array(column + 1).join(' ');\n }\n\n this.__cache.push(result);\n};\n\nfunction Output(options, baseIndentString) {\n this.__indent_cache = new IndentStringCache(options, baseIndentString);\n this.raw = false;\n this._end_with_newline = options.end_with_newline;\n this.indent_size = options.indent_size;\n this.wrap_line_length = options.wrap_line_length;\n this.indent_empty_lines = options.indent_empty_lines;\n this.__lines = [];\n this.previous_line = null;\n this.current_line = null;\n this.next_line = new OutputLine(this);\n this.space_before_token = false;\n this.non_breaking_space = false;\n this.previous_token_wrapped = false;\n // initialize\n this.__add_outputline();\n}\n\nOutput.prototype.__add_outputline = function() {\n this.previous_line = this.current_line;\n this.current_line = this.next_line.clone_empty();\n this.__lines.push(this.current_line);\n};\n\nOutput.prototype.get_line_number = function() {\n return this.__lines.length;\n};\n\nOutput.prototype.get_indent_string = function(indent, column) {\n return this.__indent_cache.get_indent_string(indent, column);\n};\n\nOutput.prototype.get_indent_size = function(indent, column) {\n return this.__indent_cache.get_indent_size(indent, column);\n};\n\nOutput.prototype.is_empty = function() {\n return !this.previous_line && this.current_line.is_empty();\n};\n\nOutput.prototype.add_new_line = function(force_newline) {\n // never newline at the start of file\n // otherwise, newline only if we didn't just add one or we're forced\n if (this.is_empty() ||\n (!force_newline && this.just_added_newline())) {\n return false;\n }\n\n // if raw output is enabled, don't print additional newlines,\n // but still return True as though you had\n if (!this.raw) {\n this.__add_outputline();\n }\n return true;\n};\n\nOutput.prototype.get_code = function(eol) {\n this.trim(true);\n\n // handle some edge cases where the last tokens\n // has text that ends with newline(s)\n var last_item = this.current_line.pop();\n if (last_item) {\n if (last_item[last_item.length - 1] === '\\n') {\n last_item = last_item.replace(/\\n+$/g, '');\n }\n this.current_line.push(last_item);\n }\n\n if (this._end_with_newline) {\n this.__add_outputline();\n }\n\n var sweet_code = this.__lines.join('\\n');\n\n if (eol !== '\\n') {\n sweet_code = sweet_code.replace(/[\\n]/g, eol);\n }\n return sweet_code;\n};\n\nOutput.prototype.set_wrap_point = function() {\n this.current_line._set_wrap_point();\n};\n\nOutput.prototype.set_indent = function(indent, alignment) {\n indent = indent || 0;\n alignment = alignment || 0;\n\n // Next line stores alignment values\n this.next_line.set_indent(indent, alignment);\n\n // Never indent your first output indent at the start of the file\n if (this.__lines.length > 1) {\n this.current_line.set_indent(indent, alignment);\n return true;\n }\n\n this.current_line.set_indent();\n return false;\n};\n\nOutput.prototype.add_raw_token = function(token) {\n for (var x = 0; x < token.newlines; x++) {\n this.__add_outputline();\n }\n this.current_line.set_indent(-1);\n this.current_line.push(token.whitespace_before);\n this.current_line.push(token.text);\n this.space_before_token = false;\n this.non_breaking_space = false;\n this.previous_token_wrapped = false;\n};\n\nOutput.prototype.add_token = function(printable_token) {\n this.__add_space_before_token();\n this.current_line.push(printable_token);\n this.space_before_token = false;\n this.non_breaking_space = false;\n this.previous_token_wrapped = this.current_line._allow_wrap();\n};\n\nOutput.prototype.__add_space_before_token = function() {\n if (this.space_before_token && !this.just_added_newline()) {\n if (!this.non_breaking_space) {\n this.set_wrap_point();\n }\n this.current_line.push(' ');\n }\n};\n\nOutput.prototype.remove_indent = function(index) {\n var output_length = this.__lines.length;\n while (index < output_length) {\n this.__lines[index]._remove_indent();\n index++;\n }\n this.current_line._remove_wrap_indent();\n};\n\nOutput.prototype.trim = function(eat_newlines) {\n eat_newlines = (eat_newlines === undefined) ? false : eat_newlines;\n\n this.current_line.trim();\n\n while (eat_newlines && this.__lines.length > 1 &&\n this.current_line.is_empty()) {\n this.__lines.pop();\n this.current_line = this.__lines[this.__lines.length - 1];\n this.current_line.trim();\n }\n\n this.previous_line = this.__lines.length > 1 ?\n this.__lines[this.__lines.length - 2] : null;\n};\n\nOutput.prototype.just_added_newline = function() {\n return this.current_line.is_empty();\n};\n\nOutput.prototype.just_added_blankline = function() {\n return this.is_empty() ||\n (this.current_line.is_empty() && this.previous_line.is_empty());\n};\n\nOutput.prototype.ensure_empty_line_above = function(starts_with, ends_with) {\n var index = this.__lines.length - 2;\n while (index >= 0) {\n var potentialEmptyLine = this.__lines[index];\n if (potentialEmptyLine.is_empty()) {\n break;\n } else if (potentialEmptyLine.item(0).indexOf(starts_with) !== 0 &&\n potentialEmptyLine.item(-1) !== ends_with) {\n this.__lines.splice(index + 1, 0, new OutputLine(this));\n this.previous_line = this.__lines[this.__lines.length - 2];\n break;\n }\n index--;\n }\n};\n\nmodule.exports.Output = Output;\n","/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n'use strict';\n\nfunction Pattern(input_scanner, parent) {\n this._input = input_scanner;\n this._starting_pattern = null;\n this._match_pattern = null;\n this._until_pattern = null;\n this._until_after = false;\n\n if (parent) {\n this._starting_pattern = this._input.get_regexp(parent._starting_pattern, true);\n this._match_pattern = this._input.get_regexp(parent._match_pattern, true);\n this._until_pattern = this._input.get_regexp(parent._until_pattern);\n this._until_after = parent._until_after;\n }\n}\n\nPattern.prototype.read = function() {\n var result = this._input.read(this._starting_pattern);\n if (!this._starting_pattern || result) {\n result += this._input.read(this._match_pattern, this._until_pattern, this._until_after);\n }\n return result;\n};\n\nPattern.prototype.read_match = function() {\n return this._input.match(this._match_pattern);\n};\n\nPattern.prototype.until_after = function(pattern) {\n var result = this._create();\n result._until_after = true;\n result._until_pattern = this._input.get_regexp(pattern);\n result._update();\n return result;\n};\n\nPattern.prototype.until = function(pattern) {\n var result = this._create();\n result._until_after = false;\n result._until_pattern = this._input.get_regexp(pattern);\n result._update();\n return result;\n};\n\nPattern.prototype.starting_with = function(pattern) {\n var result = this._create();\n result._starting_pattern = this._input.get_regexp(pattern, true);\n result._update();\n return result;\n};\n\nPattern.prototype.matching = function(pattern) {\n var result = this._create();\n result._match_pattern = this._input.get_regexp(pattern, true);\n result._update();\n return result;\n};\n\nPattern.prototype._create = function() {\n return new Pattern(this._input, this);\n};\n\nPattern.prototype._update = function() {};\n\nmodule.exports.Pattern = Pattern;\n","/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n'use strict';\n\nvar Pattern = require('./pattern').Pattern;\n\n\nvar template_names = {\n django: false,\n erb: false,\n handlebars: false,\n php: false,\n smarty: false\n};\n\n// This lets templates appear anywhere we would do a readUntil\n// The cost is higher but it is pay to play.\nfunction TemplatablePattern(input_scanner, parent) {\n Pattern.call(this, input_scanner, parent);\n this.__template_pattern = null;\n this._disabled = Object.assign({}, template_names);\n this._excluded = Object.assign({}, template_names);\n\n if (parent) {\n this.__template_pattern = this._input.get_regexp(parent.__template_pattern);\n this._excluded = Object.assign(this._excluded, parent._excluded);\n this._disabled = Object.assign(this._disabled, parent._disabled);\n }\n var pattern = new Pattern(input_scanner);\n this.__patterns = {\n handlebars_comment: pattern.starting_with(/{{!--/).until_after(/--}}/),\n handlebars_unescaped: pattern.starting_with(/{{{/).until_after(/}}}/),\n handlebars: pattern.starting_with(/{{/).until_after(/}}/),\n php: pattern.starting_with(/<\\?(?:[= ]|php)/).until_after(/\\?>/),\n erb: pattern.starting_with(/<%[^%]/).until_after(/[^%]%>/),\n // django coflicts with handlebars a bit.\n django: pattern.starting_with(/{%/).until_after(/%}/),\n django_value: pattern.starting_with(/{{/).until_after(/}}/),\n django_comment: pattern.starting_with(/{#/).until_after(/#}/),\n smarty: pattern.starting_with(/{(?=[^}{\\s\\n])/).until_after(/[^\\s\\n]}/),\n smarty_comment: pattern.starting_with(/{\\*/).until_after(/\\*}/),\n smarty_literal: pattern.starting_with(/{literal}/).until_after(/{\\/literal}/)\n };\n}\nTemplatablePattern.prototype = new Pattern();\n\nTemplatablePattern.prototype._create = function() {\n return new TemplatablePattern(this._input, this);\n};\n\nTemplatablePattern.prototype._update = function() {\n this.__set_templated_pattern();\n};\n\nTemplatablePattern.prototype.disable = function(language) {\n var result = this._create();\n result._disabled[language] = true;\n result._update();\n return result;\n};\n\nTemplatablePattern.prototype.read_options = function(options) {\n var result = this._create();\n for (var language in template_names) {\n result._disabled[language] = options.templating.indexOf(language) === -1;\n }\n result._update();\n return result;\n};\n\nTemplatablePattern.prototype.exclude = function(language) {\n var result = this._create();\n result._excluded[language] = true;\n result._update();\n return result;\n};\n\nTemplatablePattern.prototype.read = function() {\n var result = '';\n if (this._match_pattern) {\n result = this._input.read(this._starting_pattern);\n } else {\n result = this._input.read(this._starting_pattern, this.__template_pattern);\n }\n var next = this._read_template();\n while (next) {\n if (this._match_pattern) {\n next += this._input.read(this._match_pattern);\n } else {\n next += this._input.readUntil(this.__template_pattern);\n }\n result += next;\n next = this._read_template();\n }\n\n if (this._until_after) {\n result += this._input.readUntilAfter(this._until_pattern);\n }\n return result;\n};\n\nTemplatablePattern.prototype.__set_templated_pattern = function() {\n var items = [];\n\n if (!this._disabled.php) {\n items.push(this.__patterns.php._starting_pattern.source);\n }\n if (!this._disabled.handlebars) {\n items.push(this.__patterns.handlebars._starting_pattern.source);\n }\n if (!this._disabled.erb) {\n items.push(this.__patterns.erb._starting_pattern.source);\n }\n if (!this._disabled.django) {\n items.push(this.__patterns.django._starting_pattern.source);\n // The starting pattern for django is more complex because it has different\n // patterns for value, comment, and other sections\n items.push(this.__patterns.django_value._starting_pattern.source);\n items.push(this.__patterns.django_comment._starting_pattern.source);\n }\n if (!this._disabled.smarty) {\n items.push(this.__patterns.smarty._starting_pattern.source);\n }\n\n if (this._until_pattern) {\n items.push(this._until_pattern.source);\n }\n this.__template_pattern = this._input.get_regexp('(?:' + items.join('|') + ')');\n};\n\nTemplatablePattern.prototype._read_template = function() {\n var resulting_string = '';\n var c = this._input.peek();\n if (c === '<') {\n var peek1 = this._input.peek(1);\n //if we're in a comment, do something special\n // We treat all comments as literals, even more than preformatted tags\n // we just look for the appropriate close tag\n if (!this._disabled.php && !this._excluded.php && peek1 === '?') {\n resulting_string = resulting_string ||\n this.__patterns.php.read();\n }\n if (!this._disabled.erb && !this._excluded.erb && peek1 === '%') {\n resulting_string = resulting_string ||\n this.__patterns.erb.read();\n }\n } else if (c === '{') {\n if (!this._disabled.handlebars && !this._excluded.handlebars) {\n resulting_string = resulting_string ||\n this.__patterns.handlebars_comment.read();\n resulting_string = resulting_string ||\n this.__patterns.handlebars_unescaped.read();\n resulting_string = resulting_string ||\n this.__patterns.handlebars.read();\n }\n if (!this._disabled.django) {\n // django coflicts with handlebars a bit.\n if (!this._excluded.django && !this._excluded.handlebars) {\n resulting_string = resulting_string ||\n this.__patterns.django_value.read();\n }\n if (!this._excluded.django) {\n resulting_string = resulting_string ||\n this.__patterns.django_comment.read();\n resulting_string = resulting_string ||\n this.__patterns.django.read();\n }\n }\n if (!this._disabled.smarty) {\n // smarty cannot be enabled with django or handlebars enabled\n if (this._disabled.django && this._disabled.handlebars) {\n resulting_string = resulting_string ||\n this.__patterns.smarty_comment.read();\n resulting_string = resulting_string ||\n this.__patterns.smarty_literal.read();\n resulting_string = resulting_string ||\n this.__patterns.smarty.read();\n }\n }\n }\n return resulting_string;\n};\n\n\nmodule.exports.TemplatablePattern = TemplatablePattern;\n","/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n'use strict';\n\nfunction Token(type, text, newlines, whitespace_before) {\n this.type = type;\n this.text = text;\n\n // comments_before are\n // comments that have a new line before them\n // and may or may not have a newline after\n // this is a set of comments before\n this.comments_before = null; /* inline comment*/\n\n\n // this.comments_after = new TokenStream(); // no new line before and newline after\n this.newlines = newlines || 0;\n this.whitespace_before = whitespace_before || '';\n this.parent = null;\n this.next = null;\n this.previous = null;\n this.opened = null;\n this.closed = null;\n this.directives = null;\n}\n\n\nmodule.exports.Token = Token;\n","/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n'use strict';\n\nvar InputScanner = require('../core/inputscanner').InputScanner;\nvar Token = require('../core/token').Token;\nvar TokenStream = require('../core/tokenstream').TokenStream;\nvar WhitespacePattern = require('./whitespacepattern').WhitespacePattern;\n\nvar TOKEN = {\n START: 'TK_START',\n RAW: 'TK_RAW',\n EOF: 'TK_EOF'\n};\n\nvar Tokenizer = function(input_string, options) {\n this._input = new InputScanner(input_string);\n this._options = options || {};\n this.__tokens = null;\n\n this._patterns = {};\n this._patterns.whitespace = new WhitespacePattern(this._input);\n};\n\nTokenizer.prototype.tokenize = function() {\n this._input.restart();\n this.__tokens = new TokenStream();\n\n this._reset();\n\n var current;\n var previous = new Token(TOKEN.START, '');\n var open_token = null;\n var open_stack = [];\n var comments = new TokenStream();\n\n while (previous.type !== TOKEN.EOF) {\n current = this._get_next_token(previous, open_token);\n while (this._is_comment(current)) {\n comments.add(current);\n current = this._get_next_token(previous, open_token);\n }\n\n if (!comments.isEmpty()) {\n current.comments_before = comments;\n comments = new TokenStream();\n }\n\n current.parent = open_token;\n\n if (this._is_opening(current)) {\n open_stack.push(open_token);\n open_token = current;\n } else if (open_token && this._is_closing(current, open_token)) {\n current.opened = open_token;\n open_token.closed = current;\n open_token = open_stack.pop();\n current.parent = open_token;\n }\n\n current.previous = previous;\n previous.next = current;\n\n this.__tokens.add(current);\n previous = current;\n }\n\n return this.__tokens;\n};\n\n\nTokenizer.prototype._is_first_token = function() {\n return this.__tokens.isEmpty();\n};\n\nTokenizer.prototype._reset = function() {};\n\nTokenizer.prototype._get_next_token = function(previous_token, open_token) { // jshint unused:false\n this._readWhitespace();\n var resulting_string = this._input.read(/.+/g);\n if (resulting_string) {\n return this._create_token(TOKEN.RAW, resulting_string);\n } else {\n return this._create_token(TOKEN.EOF, '');\n }\n};\n\nTokenizer.prototype._is_comment = function(current_token) { // jshint unused:false\n return false;\n};\n\nTokenizer.prototype._is_opening = function(current_token) { // jshint unused:false\n return false;\n};\n\nTokenizer.prototype._is_closing = function(current_token, open_token) { // jshint unused:false\n return false;\n};\n\nTokenizer.prototype._create_token = function(type, text) {\n var token = new Token(type, text,\n this._patterns.whitespace.newline_count,\n this._patterns.whitespace.whitespace_before_token);\n return token;\n};\n\nTokenizer.prototype._readWhitespace = function() {\n return this._patterns.whitespace.read();\n};\n\n\n\nmodule.exports.Tokenizer = Tokenizer;\nmodule.exports.TOKEN = TOKEN;\n","/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n'use strict';\n\nfunction TokenStream(parent_token) {\n // private\n this.__tokens = [];\n this.__tokens_length = this.__tokens.length;\n this.__position = 0;\n this.__parent_token = parent_token;\n}\n\nTokenStream.prototype.restart = function() {\n this.__position = 0;\n};\n\nTokenStream.prototype.isEmpty = function() {\n return this.__tokens_length === 0;\n};\n\nTokenStream.prototype.hasNext = function() {\n return this.__position < this.__tokens_length;\n};\n\nTokenStream.prototype.next = function() {\n var val = null;\n if (this.hasNext()) {\n val = this.__tokens[this.__position];\n this.__position += 1;\n }\n return val;\n};\n\nTokenStream.prototype.peek = function(index) {\n var val = null;\n index = index || 0;\n index += this.__position;\n if (index >= 0 && index < this.__tokens_length) {\n val = this.__tokens[index];\n }\n return val;\n};\n\nTokenStream.prototype.add = function(token) {\n if (this.__parent_token) {\n token.parent = this.__parent_token;\n }\n this.__tokens.push(token);\n this.__tokens_length += 1;\n};\n\nmodule.exports.TokenStream = TokenStream;\n","/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n'use strict';\n\nvar Pattern = require('../core/pattern').Pattern;\n\nfunction WhitespacePattern(input_scanner, parent) {\n Pattern.call(this, input_scanner, parent);\n if (parent) {\n this._line_regexp = this._input.get_regexp(parent._line_regexp);\n } else {\n this.__set_whitespace_patterns('', '');\n }\n\n this.newline_count = 0;\n this.whitespace_before_token = '';\n}\nWhitespacePattern.prototype = new Pattern();\n\nWhitespacePattern.prototype.__set_whitespace_patterns = function(whitespace_chars, newline_chars) {\n whitespace_chars += '\\\\t ';\n newline_chars += '\\\\n\\\\r';\n\n this._match_pattern = this._input.get_regexp(\n '[' + whitespace_chars + newline_chars + ']+', true);\n this._newline_regexp = this._input.get_regexp(\n '\\\\r\\\\n|[' + newline_chars + ']');\n};\n\nWhitespacePattern.prototype.read = function() {\n this.newline_count = 0;\n this.whitespace_before_token = '';\n\n var resulting_string = this._input.read(this._match_pattern);\n if (resulting_string === ' ') {\n this.whitespace_before_token = ' ';\n } else if (resulting_string) {\n var matches = this.__split(this._newline_regexp, resulting_string);\n this.newline_count = matches.length - 1;\n this.whitespace_before_token = matches[this.newline_count];\n }\n\n return resulting_string;\n};\n\nWhitespacePattern.prototype.matching = function(whitespace_chars, newline_chars) {\n var result = this._create();\n result.__set_whitespace_patterns(whitespace_chars, newline_chars);\n result._update();\n return result;\n};\n\nWhitespacePattern.prototype._create = function() {\n return new WhitespacePattern(this._input, this);\n};\n\nWhitespacePattern.prototype.__split = function(regexp, input_string) {\n regexp.lastIndex = 0;\n var start_index = 0;\n var result = [];\n var next_match = regexp.exec(input_string);\n while (next_match) {\n result.push(input_string.substring(start_index, next_match.index));\n start_index = next_match.index + next_match[0].length;\n next_match = regexp.exec(input_string);\n }\n\n if (start_index < input_string.length) {\n result.push(input_string.substring(start_index, input_string.length));\n } else {\n result.push('');\n }\n\n return result;\n};\n\n\n\nmodule.exports.WhitespacePattern = WhitespacePattern;\n","/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n'use strict';\n\nvar Options = require('./options').Options;\nvar Output = require('../core/output').Output;\nvar InputScanner = require('../core/inputscanner').InputScanner;\nvar Directives = require('../core/directives').Directives;\n\nvar directives_core = new Directives(/\\/\\*/, /\\*\\//);\n\nvar lineBreak = /\\r\\n|[\\r\\n]/;\nvar allLineBreaks = /\\r\\n|[\\r\\n]/g;\n\n// tokenizer\nvar whitespaceChar = /\\s/;\nvar whitespacePattern = /(?:\\s|\\n)+/g;\nvar block_comment_pattern = /\\/\\*(?:[\\s\\S]*?)((?:\\*\\/)|$)/g;\nvar comment_pattern = /\\/\\/(?:[^\\n\\r\\u2028\\u2029]*)/g;\n\nfunction Beautifier(source_text, options) {\n this._source_text = source_text || '';\n // Allow the setting of language/file-type specific options\n // with inheritance of overall settings\n this._options = new Options(options);\n this._ch = null;\n this._input = null;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/At-rule\n this.NESTED_AT_RULE = {\n \"@page\": true,\n \"@font-face\": true,\n \"@keyframes\": true,\n // also in CONDITIONAL_GROUP_RULE below\n \"@media\": true,\n \"@supports\": true,\n \"@document\": true\n };\n this.CONDITIONAL_GROUP_RULE = {\n \"@media\": true,\n \"@supports\": true,\n \"@document\": true\n };\n\n}\n\nBeautifier.prototype.eatString = function(endChars) {\n var result = '';\n this._ch = this._input.next();\n while (this._ch) {\n result += this._ch;\n if (this._ch === \"\\\\\") {\n result += this._input.next();\n } else if (endChars.indexOf(this._ch) !== -1 || this._ch === \"\\n\") {\n break;\n }\n this._ch = this._input.next();\n }\n return result;\n};\n\n// Skips any white space in the source text from the current position.\n// When allowAtLeastOneNewLine is true, will output new lines for each\n// newline character found; if the user has preserve_newlines off, only\n// the first newline will be output\nBeautifier.prototype.eatWhitespace = function(allowAtLeastOneNewLine) {\n var result = whitespaceChar.test(this._input.peek());\n var newline_count = 0;\n while (whitespaceChar.test(this._input.peek())) {\n this._ch = this._input.next();\n if (allowAtLeastOneNewLine && this._ch === '\\n') {\n if (newline_count === 0 || newline_count < this._options.max_preserve_newlines) {\n newline_count++;\n this._output.add_new_line(true);\n }\n }\n }\n return result;\n};\n\n// Nested pseudo-class if we are insideRule\n// and the next special character found opens\n// a new block\nBeautifier.prototype.foundNestedPseudoClass = function() {\n var openParen = 0;\n var i = 1;\n var ch = this._input.peek(i);\n while (ch) {\n if (ch === \"{\") {\n return true;\n } else if (ch === '(') {\n // pseudoclasses can contain ()\n openParen += 1;\n } else if (ch === ')') {\n if (openParen === 0) {\n return false;\n }\n openParen -= 1;\n } else if (ch === \";\" || ch === \"}\") {\n return false;\n }\n i++;\n ch = this._input.peek(i);\n }\n return false;\n};\n\nBeautifier.prototype.print_string = function(output_string) {\n this._output.set_indent(this._indentLevel);\n this._output.non_breaking_space = true;\n this._output.add_token(output_string);\n};\n\nBeautifier.prototype.preserveSingleSpace = function(isAfterSpace) {\n if (isAfterSpace) {\n this._output.space_before_token = true;\n }\n};\n\nBeautifier.prototype.indent = function() {\n this._indentLevel++;\n};\n\nBeautifier.prototype.outdent = function() {\n if (this._indentLevel > 0) {\n this._indentLevel--;\n }\n};\n\n/*_____________________--------------------_____________________*/\n\nBeautifier.prototype.beautify = function() {\n if (this._options.disabled) {\n return this._source_text;\n }\n\n var source_text = this._source_text;\n var eol = this._options.eol;\n if (eol === 'auto') {\n eol = '\\n';\n if (source_text && lineBreak.test(source_text || '')) {\n eol = source_text.match(lineBreak)[0];\n }\n }\n\n\n // HACK: newline parsing inconsistent. This brute force normalizes the this._input.\n source_text = source_text.replace(allLineBreaks, '\\n');\n\n // reset\n var baseIndentString = source_text.match(/^[\\t ]*/)[0];\n\n this._output = new Output(this._options, baseIndentString);\n this._input = new InputScanner(source_text);\n this._indentLevel = 0;\n this._nestedLevel = 0;\n\n this._ch = null;\n var parenLevel = 0;\n\n var insideRule = false;\n // This is the value side of a property value pair (blue in the following ex)\n // label { content: blue }\n var insidePropertyValue = false;\n var enteringConditionalGroup = false;\n var insideAtExtend = false;\n var insideAtImport = false;\n var topCharacter = this._ch;\n var whitespace;\n var isAfterSpace;\n var previous_ch;\n\n while (true) {\n whitespace = this._input.read(whitespacePattern);\n isAfterSpace = whitespace !== '';\n previous_ch = topCharacter;\n this._ch = this._input.next();\n if (this._ch === '\\\\' && this._input.hasNext()) {\n this._ch += this._input.next();\n }\n topCharacter = this._ch;\n\n if (!this._ch) {\n break;\n } else if (this._ch === '/' && this._input.peek() === '*') {\n // /* css comment */\n // Always start block comments on a new line.\n // This handles scenarios where a block comment immediately\n // follows a property definition on the same line or where\n // minified code is being beautified.\n this._output.add_new_line();\n this._input.back();\n\n var comment = this._input.read(block_comment_pattern);\n\n // Handle ignore directive\n var directives = directives_core.get_directives(comment);\n if (directives && directives.ignore === 'start') {\n comment += directives_core.readIgnored(this._input);\n }\n\n this.print_string(comment);\n\n // Ensures any new lines following the comment are preserved\n this.eatWhitespace(true);\n\n // Block comments are followed by a new line so they don't\n // share a line with other properties\n this._output.add_new_line();\n } else if (this._ch === '/' && this._input.peek() === '/') {\n // // single line comment\n // Preserves the space before a comment\n // on the same line as a rule\n this._output.space_before_token = true;\n this._input.back();\n this.print_string(this._input.read(comment_pattern));\n\n // Ensures any new lines following the comment are preserved\n this.eatWhitespace(true);\n } else if (this._ch === '@') {\n this.preserveSingleSpace(isAfterSpace);\n\n // deal with less propery mixins @{...}\n if (this._input.peek() === '{') {\n this.print_string(this._ch + this.eatString('}'));\n } else {\n this.print_string(this._ch);\n\n // strip trailing space, if present, for hash property checks\n var variableOrRule = this._input.peekUntilAfter(/[: ,;{}()[\\]\\/='\"]/g);\n\n if (variableOrRule.match(/[ :]$/)) {\n // we have a variable or pseudo-class, add it and insert one space before continuing\n variableOrRule = this.eatString(\": \").replace(/\\s$/, '');\n this.print_string(variableOrRule);\n this._output.space_before_token = true;\n }\n\n variableOrRule = variableOrRule.replace(/\\s$/, '');\n\n if (variableOrRule === 'extend') {\n insideAtExtend = true;\n } else if (variableOrRule === 'import') {\n insideAtImport = true;\n }\n\n // might be a nesting at-rule\n if (variableOrRule in this.NESTED_AT_RULE) {\n this._nestedLevel += 1;\n if (variableOrRule in this.CONDITIONAL_GROUP_RULE) {\n enteringConditionalGroup = true;\n }\n // might be less variable\n } else if (!insideRule && parenLevel === 0 && variableOrRule.indexOf(':') !== -1) {\n insidePropertyValue = true;\n this.indent();\n }\n }\n } else if (this._ch === '#' && this._input.peek() === '{') {\n this.preserveSingleSpace(isAfterSpace);\n this.print_string(this._ch + this.eatString('}'));\n } else if (this._ch === '{') {\n if (insidePropertyValue) {\n insidePropertyValue = false;\n this.outdent();\n }\n\n // when entering conditional groups, only rulesets are allowed\n if (enteringConditionalGroup) {\n enteringConditionalGroup = false;\n insideRule = (this._indentLevel >= this._nestedLevel);\n } else {\n // otherwise, declarations are also allowed\n insideRule = (this._indentLevel >= this._nestedLevel - 1);\n }\n if (this._options.newline_between_rules && insideRule) {\n if (this._output.previous_line && this._output.previous_line.item(-1) !== '{') {\n this._output.ensure_empty_line_above('/', ',');\n }\n }\n\n this._output.space_before_token = true;\n\n // The difference in print_string and indent order is necessary to indent the '{' correctly\n if (this._options.brace_style === 'expand') {\n this._output.add_new_line();\n this.print_string(this._ch);\n this.indent();\n this._output.set_indent(this._indentLevel);\n } else {\n this.indent();\n this.print_string(this._ch);\n }\n\n this.eatWhitespace(true);\n this._output.add_new_line();\n } else if (this._ch === '}') {\n this.outdent();\n this._output.add_new_line();\n if (previous_ch === '{') {\n this._output.trim(true);\n }\n insideAtImport = false;\n insideAtExtend = false;\n if (insidePropertyValue) {\n this.outdent();\n insidePropertyValue = false;\n }\n this.print_string(this._ch);\n insideRule = false;\n if (this._nestedLevel) {\n this._nestedLevel--;\n }\n\n this.eatWhitespace(true);\n this._output.add_new_line();\n\n if (this._options.newline_between_rules && !this._output.just_added_blankline()) {\n if (this._input.peek() !== '}') {\n this._output.add_new_line(true);\n }\n }\n } else if (this._ch === \":\") {\n if ((insideRule || enteringConditionalGroup) && !(this._input.lookBack(\"&\") || this.foundNestedPseudoClass()) && !this._input.lookBack(\"(\") && !insideAtExtend && parenLevel === 0) {\n // 'property: value' delimiter\n // which could be in a conditional group query\n this.print_string(':');\n if (!insidePropertyValue) {\n insidePropertyValue = true;\n this._output.space_before_token = true;\n this.eatWhitespace(true);\n this.indent();\n }\n } else {\n // sass/less parent reference don't use a space\n // sass nested pseudo-class don't use a space\n\n // preserve space before pseudoclasses/pseudoelements, as it means \"in any child\"\n if (this._input.lookBack(\" \")) {\n this._output.space_before_token = true;\n }\n if (this._input.peek() === \":\") {\n // pseudo-element\n this._ch = this._input.next();\n this.print_string(\"::\");\n } else {\n // pseudo-class\n this.print_string(':');\n }\n }\n } else if (this._ch === '\"' || this._ch === '\\'') {\n this.preserveSingleSpace(isAfterSpace);\n this.print_string(this._ch + this.eatString(this._ch));\n this.eatWhitespace(true);\n } else if (this._ch === ';') {\n if (parenLevel === 0) {\n if (insidePropertyValue) {\n this.outdent();\n insidePropertyValue = false;\n }\n insideAtExtend = false;\n insideAtImport = false;\n this.print_string(this._ch);\n this.eatWhitespace(true);\n\n // This maintains single line comments on the same\n // line. Block comments are also affected, but\n // a new line is always output before one inside\n // that section\n if (this._input.peek() !== '/') {\n this._output.add_new_line();\n }\n } else {\n this.print_string(this._ch);\n this.eatWhitespace(true);\n this._output.space_before_token = true;\n }\n } else if (this._ch === '(') { // may be a url\n if (this._input.lookBack(\"url\")) {\n this.print_string(this._ch);\n this.eatWhitespace();\n parenLevel++;\n this.indent();\n this._ch = this._input.next();\n if (this._ch === ')' || this._ch === '\"' || this._ch === '\\'') {\n this._input.back();\n } else if (this._ch) {\n this.print_string(this._ch + this.eatString(')'));\n if (parenLevel) {\n parenLevel--;\n this.outdent();\n }\n }\n } else {\n this.preserveSingleSpace(isAfterSpace);\n this.print_string(this._ch);\n this.eatWhitespace();\n parenLevel++;\n this.indent();\n }\n } else if (this._ch === ')') {\n if (parenLevel) {\n parenLevel--;\n this.outdent();\n }\n this.print_string(this._ch);\n } else if (this._ch === ',') {\n this.print_string(this._ch);\n this.eatWhitespace(true);\n if (this._options.selector_separator_newline && !insidePropertyValue && parenLevel === 0 && !insideAtImport && !insideAtExtend) {\n this._output.add_new_line();\n } else {\n this._output.space_before_token = true;\n }\n } else if ((this._ch === '>' || this._ch === '+' || this._ch === '~') && !insidePropertyValue && parenLevel === 0) {\n //handle combinator spacing\n if (this._options.space_around_combinator) {\n this._output.space_before_token = true;\n this.print_string(this._ch);\n this._output.space_before_token = true;\n } else {\n this.print_string(this._ch);\n this.eatWhitespace();\n // squash extra whitespace\n if (this._ch && whitespaceChar.test(this._ch)) {\n this._ch = '';\n }\n }\n } else if (this._ch === ']') {\n this.print_string(this._ch);\n } else if (this._ch === '[') {\n this.preserveSingleSpace(isAfterSpace);\n this.print_string(this._ch);\n } else if (this._ch === '=') { // no whitespace before or after\n this.eatWhitespace();\n this.print_string('=');\n if (whitespaceChar.test(this._ch)) {\n this._ch = '';\n }\n } else if (this._ch === '!' && !this._input.lookBack(\"\\\\\")) { // !important\n this.print_string(' ');\n this.print_string(this._ch);\n } else {\n this.preserveSingleSpace(isAfterSpace);\n this.print_string(this._ch);\n }\n }\n\n var sweetCode = this._output.get_code(eol);\n\n return sweetCode;\n};\n\nmodule.exports.Beautifier = Beautifier;\n","/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n'use strict';\n\nvar Beautifier = require('./beautifier').Beautifier,\n Options = require('./options').Options;\n\nfunction css_beautify(source_text, options) {\n var beautifier = new Beautifier(source_text, options);\n return beautifier.beautify();\n}\n\nmodule.exports = css_beautify;\nmodule.exports.defaultOptions = function() {\n return new Options();\n};\n","/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n'use strict';\n\nvar BaseOptions = require('../core/options').Options;\n\nfunction Options(options) {\n BaseOptions.call(this, options, 'css');\n\n this.selector_separator_newline = this._get_boolean('selector_separator_newline', true);\n this.newline_between_rules = this._get_boolean('newline_between_rules', true);\n var space_around_selector_separator = this._get_boolean('space_around_selector_separator');\n this.space_around_combinator = this._get_boolean('space_around_combinator') || space_around_selector_separator;\n\n var brace_style_split = this._get_selection_list('brace_style', ['collapse', 'expand', 'end-expand', 'none', 'preserve-inline']);\n this.brace_style = 'collapse';\n for (var bs = 0; bs < brace_style_split.length; bs++) {\n if (brace_style_split[bs] !== 'expand') {\n // default to collapse, as only collapse|expand is implemented for now\n this.brace_style = 'collapse';\n } else {\n this.brace_style = brace_style_split[bs];\n }\n }\n}\nOptions.prototype = new BaseOptions();\n\n\n\nmodule.exports.Options = Options;\n","/*jshint node:true */\n/*\n\n The MIT License (MIT)\n\n Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation files\n (the \"Software\"), to deal in the Software without restriction,\n including without limitation the rights to use, copy, modify, merge,\n publish, distribute, sublicense, and/or sell copies of the Software,\n and to permit persons to whom the Software is furnished to do so,\n subject to the following conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\n'use strict';\n\nvar Options = require('../html/options').Options;\nvar Output = require('../core/output').Output;\nvar Tokenizer = require('../html/tokenizer').Tokenizer;\nvar TOKEN = require('../html/tokenizer').TOKEN;\n\nvar lineBreak = /\\r\\n|[\\r\\n]/;\nvar allLineBreaks = /\\r\\n|[\\r\\n]/g;\n\nvar Printer = function(options, base_indent_string) { //handles input/output and some other printing functions\n\n this.indent_level = 0;\n this.alignment_size = 0;\n this.max_preserve_newlines = options.max_preserve_newlines;\n this.preserve_newlines = options.preserve_newlines;\n\n this._output = new Output(options, base_indent_string);\n\n};\n\nPrinter.prototype.current_line_has_match = function(pattern) {\n return this._output.current_line.has_match(pattern);\n};\n\nPrinter.prototype.set_space_before_token = function(value, non_breaking) {\n this._output.space_before_token = value;\n this._output.non_breaking_space = non_breaking;\n};\n\nPrinter.prototype.set_wrap_point = function() {\n this._output.set_indent(this.indent_level, this.alignment_size);\n this._output.set_wrap_point();\n};\n\n\nPrinter.prototype.add_raw_token = function(token) {\n this._output.add_raw_token(token);\n};\n\nPrinter.prototype.print_preserved_newlines = function(raw_token) {\n var newlines = 0;\n if (raw_token.type !== TOKEN.TEXT && raw_token.previous.type !== TOKEN.TEXT) {\n newlines = raw_token.newlines ? 1 : 0;\n }\n\n if (this.preserve_newlines) {\n newlines = raw_token.newlines < this.max_preserve_newlines + 1 ? raw_token.newlines : this.max_preserve_newlines + 1;\n }\n for (var n = 0; n < newlines; n++) {\n this.print_newline(n > 0);\n }\n\n return newlines !== 0;\n};\n\nPrinter.prototype.traverse_whitespace = function(raw_token) {\n if (raw_token.whitespace_before || raw_token.newlines) {\n if (!this.print_preserved_newlines(raw_token)) {\n this._output.space_before_token = true;\n }\n return true;\n }\n return false;\n};\n\nPrinter.prototype.previous_token_wrapped = function() {\n return this._output.previous_token_wrapped;\n};\n\nPrinter.prototype.print_newline = function(force) {\n this._output.add_new_line(force);\n};\n\nPrinter.prototype.print_token = function(token) {\n if (token.text) {\n this._output.set_indent(this.indent_level, this.alignment_size);\n this._output.add_token(token.text);\n }\n};\n\nPrinter.prototype.indent = function() {\n this.indent_level++;\n};\n\nPrinter.prototype.get_full_indent = function(level) {\n level = this.indent_level + (level || 0);\n if (level < 1) {\n return '';\n }\n\n return this._output.get_indent_string(level);\n};\n\nvar get_type_attribute = function(start_token) {\n var result = null;\n var raw_token = start_token.next;\n\n // Search attributes for a type attribute\n while (raw_token.type !== TOKEN.EOF && start_token.closed !== raw_token) {\n if (raw_token.type === TOKEN.ATTRIBUTE && raw_token.text === 'type') {\n if (raw_token.next && raw_token.next.type === TOKEN.EQUALS &&\n raw_token.next.next && raw_token.next.next.type === TOKEN.VALUE) {\n result = raw_token.next.next.text;\n }\n break;\n }\n raw_token = raw_token.next;\n }\n\n return result;\n};\n\nvar get_custom_beautifier_name = function(tag_check, raw_token) {\n var typeAttribute = null;\n var result = null;\n\n if (!raw_token.closed) {\n return null;\n }\n\n if (tag_check === 'script') {\n typeAttribute = 'text/javascript';\n } else if (tag_check === 'style') {\n typeAttribute = 'text/css';\n }\n\n typeAttribute = get_type_attribute(raw_token) || typeAttribute;\n\n // For script and style tags that have a type attribute, only enable custom beautifiers for matching values\n // For those without a type attribute use default;\n if (typeAttribute.search('text/css') > -1) {\n result = 'css';\n } else if (typeAttribute.search(/module|((text|application|dojo)\\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\\+)?json|method|aspect))/) > -1) {\n result = 'javascript';\n } else if (typeAttribute.search(/(text|application|dojo)\\/(x-)?(html)/) > -1) {\n result = 'html';\n } else if (typeAttribute.search(/test\\/null/) > -1) {\n // Test only mime-type for testing the beautifier when null is passed as beautifing function\n result = 'null';\n }\n\n return result;\n};\n\nfunction in_array(what, arr) {\n return arr.indexOf(what) !== -1;\n}\n\nfunction TagFrame(parent, parser_token, indent_level) {\n this.parent = parent || null;\n this.tag = parser_token ? parser_token.tag_name : '';\n this.indent_level = indent_level || 0;\n this.parser_token = parser_token || null;\n}\n\nfunction TagStack(printer) {\n this._printer = printer;\n this._current_frame = null;\n}\n\nTagStack.prototype.get_parser_token = function() {\n return this._current_frame ? this._current_frame.parser_token : null;\n};\n\nTagStack.prototype.record_tag = function(parser_token) { //function to record a tag and its parent in this.tags Object\n var new_frame = new TagFrame(this._current_frame, parser_token, this._printer.indent_level);\n this._current_frame = new_frame;\n};\n\nTagStack.prototype._try_pop_frame = function(frame) { //function to retrieve the opening tag to the corresponding closer\n var parser_token = null;\n\n if (frame) {\n parser_token = frame.parser_token;\n this._printer.indent_level = frame.indent_level;\n this._current_frame = frame.parent;\n }\n\n return parser_token;\n};\n\nTagStack.prototype._get_frame = function(tag_list, stop_list) { //function to retrieve the opening tag to the corresponding closer\n var frame = this._current_frame;\n\n while (frame) { //till we reach '' (the initial value);\n if (tag_list.indexOf(frame.tag) !== -1) { //if this is it use it\n break;\n } else if (stop_list && stop_list.indexOf(frame.tag) !== -1) {\n frame = null;\n break;\n }\n frame = frame.parent;\n }\n\n return frame;\n};\n\nTagStack.prototype.try_pop = function(tag, stop_list) { //function to retrieve the opening tag to the corresponding closer\n var frame = this._get_frame([tag], stop_list);\n return this._try_pop_frame(frame);\n};\n\nTagStack.prototype.indent_to_tag = function(tag_list) {\n var frame = this._get_frame(tag_list);\n if (frame) {\n this._printer.indent_level = frame.indent_level;\n }\n};\n\nfunction Beautifier(source_text, options, js_beautify, css_beautify) {\n //Wrapper function to invoke all the necessary constructors and deal with the output.\n this._source_text = source_text || '';\n options = options || {};\n this._js_beautify = js_beautify;\n this._css_beautify = css_beautify;\n this._tag_stack = null;\n\n // Allow the setting of language/file-type specific options\n // with inheritance of overall settings\n var optionHtml = new Options(options, 'html');\n\n this._options = optionHtml;\n\n this._is_wrap_attributes_force = this._options.wrap_attributes.substr(0, 'force'.length) === 'force';\n this._is_wrap_attributes_force_expand_multiline = (this._options.wrap_attributes === 'force-expand-multiline');\n this._is_wrap_attributes_force_aligned = (this._options.wrap_attributes === 'force-aligned');\n this._is_wrap_attributes_aligned_multiple = (this._options.wrap_attributes === 'aligned-multiple');\n this._is_wrap_attributes_preserve = this._options.wrap_attributes.substr(0, 'preserve'.length) === 'preserve';\n this._is_wrap_attributes_preserve_aligned = (this._options.wrap_attributes === 'preserve-aligned');\n}\n\nBeautifier.prototype.beautify = function() {\n\n // if disabled, return the input unchanged.\n if (this._options.disabled) {\n return this._source_text;\n }\n\n var source_text = this._source_text;\n var eol = this._options.eol;\n if (this._options.eol === 'auto') {\n eol = '\\n';\n if (source_text && lineBreak.test(source_text)) {\n eol = source_text.match(lineBreak)[0];\n }\n }\n\n // HACK: newline parsing inconsistent. This brute force normalizes the input.\n source_text = source_text.replace(allLineBreaks, '\\n');\n\n var baseIndentString = source_text.match(/^[\\t ]*/)[0];\n\n var last_token = {\n text: '',\n type: ''\n };\n\n var last_tag_token = new TagOpenParserToken();\n\n var printer = new Printer(this._options, baseIndentString);\n var tokens = new Tokenizer(source_text, this._options).tokenize();\n\n this._tag_stack = new TagStack(printer);\n\n var parser_token = null;\n var raw_token = tokens.next();\n while (raw_token.type !== TOKEN.EOF) {\n\n if (raw_token.type === TOKEN.TAG_OPEN || raw_token.type === TOKEN.COMMENT) {\n parser_token = this._handle_tag_open(printer, raw_token, last_tag_token, last_token);\n last_tag_token = parser_token;\n } else if ((raw_token.type === TOKEN.ATTRIBUTE || raw_token.type === TOKEN.EQUALS || raw_token.type === TOKEN.VALUE) ||\n (raw_token.type === TOKEN.TEXT && !last_tag_token.tag_complete)) {\n parser_token = this._handle_inside_tag(printer, raw_token, last_tag_token, tokens);\n } else if (raw_token.type === TOKEN.TAG_CLOSE) {\n parser_token = this._handle_tag_close(printer, raw_token, last_tag_token);\n } else if (raw_token.type === TOKEN.TEXT) {\n parser_token = this._handle_text(printer, raw_token, last_tag_token);\n } else {\n // This should never happen, but if it does. Print the raw token\n printer.add_raw_token(raw_token);\n }\n\n last_token = parser_token;\n\n raw_token = tokens.next();\n }\n var sweet_code = printer._output.get_code(eol);\n\n return sweet_code;\n};\n\nBeautifier.prototype._handle_tag_close = function(printer, raw_token, last_tag_token) {\n var parser_token = {\n text: raw_token.text,\n type: raw_token.type\n };\n printer.alignment_size = 0;\n last_tag_token.tag_complete = true;\n\n printer.set_space_before_token(raw_token.newlines || raw_token.whitespace_before !== '', true);\n if (last_tag_token.is_unformatted) {\n printer.add_raw_token(raw_token);\n } else {\n if (last_tag_token.tag_start_char === '<') {\n printer.set_space_before_token(raw_token.text[0] === '/', true); // space before />, no space before >\n if (this._is_wrap_attributes_force_expand_multiline && last_tag_token.has_wrapped_attrs) {\n printer.print_newline(false);\n }\n }\n printer.print_token(raw_token);\n\n }\n\n if (last_tag_token.indent_content &&\n !(last_tag_token.is_unformatted || last_tag_token.is_content_unformatted)) {\n printer.indent();\n\n // only indent once per opened tag\n last_tag_token.indent_content = false;\n }\n\n if (!last_tag_token.is_inline_element &&\n !(last_tag_token.is_unformatted || last_tag_token.is_content_unformatted)) {\n printer.set_wrap_point();\n }\n\n return parser_token;\n};\n\nBeautifier.prototype._handle_inside_tag = function(printer, raw_token, last_tag_token, tokens) {\n var wrapped = last_tag_token.has_wrapped_attrs;\n var parser_token = {\n text: raw_token.text,\n type: raw_token.type\n };\n\n printer.set_space_before_token(raw_token.newlines || raw_token.whitespace_before !== '', true);\n if (last_tag_token.is_unformatted) {\n printer.add_raw_token(raw_token);\n } else if (last_tag_token.tag_start_char === '{' && raw_token.type === TOKEN.TEXT) {\n // For the insides of handlebars allow newlines or a single space between open and contents\n if (printer.print_preserved_newlines(raw_token)) {\n raw_token.newlines = 0;\n printer.add_raw_token(raw_token);\n } else {\n printer.print_token(raw_token);\n }\n } else {\n if (raw_token.type === TOKEN.ATTRIBUTE) {\n printer.set_space_before_token(true);\n last_tag_token.attr_count += 1;\n } else if (raw_token.type === TOKEN.EQUALS) { //no space before =\n printer.set_space_before_token(false);\n } else if (raw_token.type === TOKEN.VALUE && raw_token.previous.type === TOKEN.EQUALS) { //no space before value\n printer.set_space_before_token(false);\n }\n\n if (raw_token.type === TOKEN.ATTRIBUTE && last_tag_token.tag_start_char === '<') {\n if (this._is_wrap_attributes_preserve || this._is_wrap_attributes_preserve_aligned) {\n printer.traverse_whitespace(raw_token);\n wrapped = wrapped || raw_token.newlines !== 0;\n }\n\n\n if (this._is_wrap_attributes_force) {\n var force_attr_wrap = last_tag_token.attr_count > 1;\n if (this._is_wrap_attributes_force_expand_multiline && last_tag_token.attr_count === 1) {\n var is_only_attribute = true;\n var peek_index = 0;\n var peek_token;\n do {\n peek_token = tokens.peek(peek_index);\n if (peek_token.type === TOKEN.ATTRIBUTE) {\n is_only_attribute = false;\n break;\n }\n peek_index += 1;\n } while (peek_index < 4 && peek_token.type !== TOKEN.EOF && peek_token.type !== TOKEN.TAG_CLOSE);\n\n force_attr_wrap = !is_only_attribute;\n }\n\n if (force_attr_wrap) {\n printer.print_newline(false);\n wrapped = true;\n }\n }\n }\n printer.print_token(raw_token);\n wrapped = wrapped || printer.previous_token_wrapped();\n last_tag_token.has_wrapped_attrs = wrapped;\n }\n return parser_token;\n};\n\nBeautifier.prototype._handle_text = function(printer, raw_token, last_tag_token) {\n var parser_token = {\n text: raw_token.text,\n type: 'TK_CONTENT'\n };\n if (last_tag_token.custom_beautifier_name) { //check if we need to format javascript\n this._print_custom_beatifier_text(printer, raw_token, last_tag_token);\n } else if (last_tag_token.is_unformatted || last_tag_token.is_content_unformatted) {\n printer.add_raw_token(raw_token);\n } else {\n printer.traverse_whitespace(raw_token);\n printer.print_token(raw_token);\n }\n return parser_token;\n};\n\nBeautifier.prototype._print_custom_beatifier_text = function(printer, raw_token, last_tag_token) {\n var local = this;\n if (raw_token.text !== '') {\n\n var text = raw_token.text,\n _beautifier,\n script_indent_level = 1,\n pre = '',\n post = '';\n if (last_tag_token.custom_beautifier_name === 'javascript' && typeof this._js_beautify === 'function') {\n _beautifier = this._js_beautify;\n } else if (last_tag_token.custom_beautifier_name === 'css' && typeof this._css_beautify === 'function') {\n _beautifier = this._css_beautify;\n } else if (last_tag_token.custom_beautifier_name === 'html') {\n _beautifier = function(html_source, options) {\n var beautifier = new Beautifier(html_source, options, local._js_beautify, local._css_beautify);\n return beautifier.beautify();\n };\n }\n\n if (this._options.indent_scripts === \"keep\") {\n script_indent_level = 0;\n } else if (this._options.indent_scripts === \"separate\") {\n script_indent_level = -printer.indent_level;\n }\n\n var indentation = printer.get_full_indent(script_indent_level);\n\n // if there is at least one empty line at the end of this text, strip it\n // we'll be adding one back after the text but before the containing tag.\n text = text.replace(/\\n[ \\t]*$/, '');\n\n // Handle the case where content is wrapped in a comment or cdata.\n if (last_tag_token.custom_beautifier_name !== 'html' &&\n text[0] === '<' && text.match(/^(|]]>)$/.exec(text);\n\n // if we start to wrap but don't finish, print raw\n if (!matched) {\n printer.add_raw_token(raw_token);\n return;\n }\n\n pre = indentation + matched[1] + '\\n';\n text = matched[4];\n if (matched[5]) {\n post = indentation + matched[5];\n }\n\n // if there is at least one empty line at the end of this text, strip it\n // we'll be adding one back after the text but before the containing tag.\n text = text.replace(/\\n[ \\t]*$/, '');\n\n if (matched[2] || matched[3].indexOf('\\n') !== -1) {\n // if the first line of the non-comment text has spaces\n // use that as the basis for indenting in null case.\n matched = matched[3].match(/[ \\t]+$/);\n if (matched) {\n raw_token.whitespace_before = matched[0];\n }\n }\n }\n\n if (text) {\n if (_beautifier) {\n\n // call the Beautifier if avaliable\n var Child_options = function() {\n this.eol = '\\n';\n };\n Child_options.prototype = this._options.raw_options;\n var child_options = new Child_options();\n text = _beautifier(indentation + text, child_options);\n } else {\n // simply indent the string otherwise\n var white = raw_token.whitespace_before;\n if (white) {\n text = text.replace(new RegExp('\\n(' + white + ')?', 'g'), '\\n');\n }\n\n text = indentation + text.replace(/\\n/g, '\\n' + indentation);\n }\n }\n\n if (pre) {\n if (!text) {\n text = pre + post;\n } else {\n text = pre + text + '\\n' + post;\n }\n }\n\n printer.print_newline(false);\n if (text) {\n raw_token.text = text;\n raw_token.whitespace_before = '';\n raw_token.newlines = 0;\n printer.add_raw_token(raw_token);\n printer.print_newline(true);\n }\n }\n};\n\nBeautifier.prototype._handle_tag_open = function(printer, raw_token, last_tag_token, last_token) {\n var parser_token = this._get_tag_open_token(raw_token);\n\n if ((last_tag_token.is_unformatted || last_tag_token.is_content_unformatted) &&\n !last_tag_token.is_empty_element &&\n raw_token.type === TOKEN.TAG_OPEN && raw_token.text.indexOf(']*)/);\n this.tag_check = tag_check_match ? tag_check_match[1] : '';\n } else {\n tag_check_match = raw_token.text.match(/^{{(?:[\\^]|#\\*?)?([^\\s}]+)/);\n this.tag_check = tag_check_match ? tag_check_match[1] : '';\n\n // handle \"{{#> myPartial}}\n if (raw_token.text === '{{#>' && this.tag_check === '>' && raw_token.next !== null) {\n this.tag_check = raw_token.next.text.split(' ')[0];\n }\n }\n this.tag_check = this.tag_check.toLowerCase();\n\n if (raw_token.type === TOKEN.COMMENT) {\n this.tag_complete = true;\n }\n\n this.is_start_tag = this.tag_check.charAt(0) !== '/';\n this.tag_name = !this.is_start_tag ? this.tag_check.substr(1) : this.tag_check;\n this.is_end_tag = !this.is_start_tag ||\n (raw_token.closed && raw_token.closed.text === '/>');\n\n // handlebars tags that don't start with # or ^ are single_tags, and so also start and end.\n this.is_end_tag = this.is_end_tag ||\n (this.tag_start_char === '{' && (this.text.length < 3 || (/[^#\\^]/.test(this.text.charAt(2)))));\n }\n};\n\nBeautifier.prototype._get_tag_open_token = function(raw_token) { //function to get a full tag and parse its type\n var parser_token = new TagOpenParserToken(this._tag_stack.get_parser_token(), raw_token);\n\n parser_token.alignment_size = this._options.wrap_attributes_indent_size;\n\n parser_token.is_end_tag = parser_token.is_end_tag ||\n in_array(parser_token.tag_check, this._options.void_elements);\n\n parser_token.is_empty_element = parser_token.tag_complete ||\n (parser_token.is_start_tag && parser_token.is_end_tag);\n\n parser_token.is_unformatted = !parser_token.tag_complete && in_array(parser_token.tag_check, this._options.unformatted);\n parser_token.is_content_unformatted = !parser_token.is_empty_element && in_array(parser_token.tag_check, this._options.content_unformatted);\n parser_token.is_inline_element = in_array(parser_token.tag_name, this._options.inline) || parser_token.tag_start_char === '{';\n\n return parser_token;\n};\n\nBeautifier.prototype._set_tag_position = function(printer, raw_token, parser_token, last_tag_token, last_token) {\n\n if (!parser_token.is_empty_element) {\n if (parser_token.is_end_tag) { //this tag is a double tag so check for tag-ending\n parser_token.start_tag_token = this._tag_stack.try_pop(parser_token.tag_name); //remove it and all ancestors\n } else { // it's a start-tag\n // check if this tag is starting an element that has optional end element\n // and do an ending needed\n if (this._do_optional_end_element(parser_token)) {\n if (!parser_token.is_inline_element) {\n printer.print_newline(false);\n }\n }\n\n this._tag_stack.record_tag(parser_token); //push it on the tag stack\n\n if ((parser_token.tag_name === 'script' || parser_token.tag_name === 'style') &&\n !(parser_token.is_unformatted || parser_token.is_content_unformatted)) {\n parser_token.custom_beautifier_name = get_custom_beautifier_name(parser_token.tag_check, raw_token);\n }\n }\n }\n\n if (in_array(parser_token.tag_check, this._options.extra_liners)) { //check if this double needs an extra line\n printer.print_newline(false);\n if (!printer._output.just_added_blankline()) {\n printer.print_newline(true);\n }\n }\n\n if (parser_token.is_empty_element) { //if this tag name is a single tag type (either in the list or has a closing /)\n\n // if you hit an else case, reset the indent level if you are inside an:\n // 'if', 'unless', or 'each' block.\n if (parser_token.tag_start_char === '{' && parser_token.tag_check === 'else') {\n this._tag_stack.indent_to_tag(['if', 'unless', 'each']);\n parser_token.indent_content = true;\n // Don't add a newline if opening {{#if}} tag is on the current line\n var foundIfOnCurrentLine = printer.current_line_has_match(/{{#if/);\n if (!foundIfOnCurrentLine) {\n printer.print_newline(false);\n }\n }\n\n // Don't add a newline before elements that should remain where they are.\n if (parser_token.tag_name === '!--' && last_token.type === TOKEN.TAG_CLOSE &&\n last_tag_token.is_end_tag && parser_token.text.indexOf('\\n') === -1) {\n //Do nothing. Leave comments on same line.\n } else {\n if (!(parser_token.is_inline_element || parser_token.is_unformatted)) {\n printer.print_newline(false);\n }\n this._calcluate_parent_multiline(printer, parser_token);\n }\n } else if (parser_token.is_end_tag) { //this tag is a double tag so check for tag-ending\n var do_end_expand = false;\n\n // deciding whether a block is multiline should not be this hard\n do_end_expand = parser_token.start_tag_token && parser_token.start_tag_token.multiline_content;\n do_end_expand = do_end_expand || (!parser_token.is_inline_element &&\n !(last_tag_token.is_inline_element || last_tag_token.is_unformatted) &&\n !(last_token.type === TOKEN.TAG_CLOSE && parser_token.start_tag_token === last_tag_token) &&\n last_token.type !== 'TK_CONTENT'\n );\n\n if (parser_token.is_content_unformatted || parser_token.is_unformatted) {\n do_end_expand = false;\n }\n\n if (do_end_expand) {\n printer.print_newline(false);\n }\n } else { // it's a start-tag\n parser_token.indent_content = !parser_token.custom_beautifier_name;\n\n if (parser_token.tag_start_char === '<') {\n if (parser_token.tag_name === 'html') {\n parser_token.indent_content = this._options.indent_inner_html;\n } else if (parser_token.tag_name === 'head') {\n parser_token.indent_content = this._options.indent_head_inner_html;\n } else if (parser_token.tag_name === 'body') {\n parser_token.indent_content = this._options.indent_body_inner_html;\n }\n }\n\n if (!(parser_token.is_inline_element || parser_token.is_unformatted) &&\n (last_token.type !== 'TK_CONTENT' || parser_token.is_content_unformatted)) {\n printer.print_newline(false);\n }\n\n this._calcluate_parent_multiline(printer, parser_token);\n }\n};\n\nBeautifier.prototype._calcluate_parent_multiline = function(printer, parser_token) {\n if (parser_token.parent && printer._output.just_added_newline() &&\n !((parser_token.is_inline_element || parser_token.is_unformatted) && parser_token.parent.is_inline_element)) {\n parser_token.parent.multiline_content = true;\n }\n};\n\n//To be used for

tag special case:\nvar p_closers = ['address', 'article', 'aside', 'blockquote', 'details', 'div', 'dl', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hr', 'main', 'nav', 'ol', 'p', 'pre', 'section', 'table', 'ul'];\nvar p_parent_excludes = ['a', 'audio', 'del', 'ins', 'map', 'noscript', 'video'];\n\nBeautifier.prototype._do_optional_end_element = function(parser_token) {\n var result = null;\n // NOTE: cases of \"if there is no more content in the parent element\"\n // are handled automatically by the beautifier.\n // It assumes parent or ancestor close tag closes all children.\n // https://www.w3.org/TR/html5/syntax.html#optional-tags\n if (parser_token.is_empty_element || !parser_token.is_start_tag || !parser_token.parent) {\n return;\n\n }\n\n if (parser_token.tag_name === 'body') {\n // A head element’s end tag may be omitted if the head element is not immediately followed by a space character or a comment.\n result = result || this._tag_stack.try_pop('head');\n\n //} else if (parser_token.tag_name === 'body') {\n // DONE: A body element’s end tag may be omitted if the body element is not immediately followed by a comment.\n\n } else if (parser_token.tag_name === 'li') {\n // An li element’s end tag may be omitted if the li element is immediately followed by another li element or if there is no more content in the parent element.\n result = result || this._tag_stack.try_pop('li', ['ol', 'ul']);\n\n } else if (parser_token.tag_name === 'dd' || parser_token.tag_name === 'dt') {\n // A dd element’s end tag may be omitted if the dd element is immediately followed by another dd element or a dt element, or if there is no more content in the parent element.\n // A dt element’s end tag may be omitted if the dt element is immediately followed by another dt element or a dd element.\n result = result || this._tag_stack.try_pop('dt', ['dl']);\n result = result || this._tag_stack.try_pop('dd', ['dl']);\n\n\n } else if (parser_token.parent.tag_name === 'p' && p_closers.indexOf(parser_token.tag_name) !== -1) {\n // IMPORTANT: this else-if works because p_closers has no overlap with any other element we look for in this method\n // check for the parent element is an HTML element that is not an ,

`, so it can be styled via any CSS solution you prefer.\n * @see https://floating-ui.com/docs/FloatingOverlay\n */\nconst FloatingOverlay = /*#__PURE__*/React.forwardRef(function FloatingOverlay(_ref, ref) {\n let {\n lockScroll = false,\n ...rest\n } = _ref;\n const lockId = useId();\n index(() => {\n if (!lockScroll) return;\n activeLocks.add(lockId);\n const isIOS = /iP(hone|ad|od)|iOS/.test(getPlatform());\n const bodyStyle = document.body.style;\n // RTL scrollbar\n const scrollbarX = Math.round(document.documentElement.getBoundingClientRect().left) + document.documentElement.scrollLeft;\n const paddingProp = scrollbarX ? 'paddingLeft' : 'paddingRight';\n const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n const scrollX = bodyStyle.left ? parseFloat(bodyStyle.left) : window.pageXOffset;\n const scrollY = bodyStyle.top ? parseFloat(bodyStyle.top) : window.pageYOffset;\n bodyStyle.overflow = 'hidden';\n if (scrollbarWidth) {\n bodyStyle[paddingProp] = scrollbarWidth + \"px\";\n }\n\n // Only iOS doesn't respect `overflow: hidden` on document.body, and this\n // technique has fewer side effects.\n if (isIOS) {\n var _window$visualViewpor, _window$visualViewpor2;\n // iOS 12 does not support `visualViewport`.\n const offsetLeft = ((_window$visualViewpor = window.visualViewport) == null ? void 0 : _window$visualViewpor.offsetLeft) || 0;\n const offsetTop = ((_window$visualViewpor2 = window.visualViewport) == null ? void 0 : _window$visualViewpor2.offsetTop) || 0;\n Object.assign(bodyStyle, {\n position: 'fixed',\n top: -(scrollY - Math.floor(offsetTop)) + \"px\",\n left: -(scrollX - Math.floor(offsetLeft)) + \"px\",\n right: '0'\n });\n }\n return () => {\n activeLocks.delete(lockId);\n if (activeLocks.size === 0) {\n Object.assign(bodyStyle, {\n overflow: '',\n [paddingProp]: ''\n });\n if (isIOS) {\n Object.assign(bodyStyle, {\n position: '',\n top: '',\n left: '',\n right: ''\n });\n window.scrollTo(scrollX, scrollY);\n }\n }\n };\n }, [lockId, lockScroll]);\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref\n }, rest, {\n style: {\n position: 'fixed',\n overflow: 'auto',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...rest.style\n }\n }));\n});\n\nfunction isButtonTarget(event) {\n return isHTMLElement(event.target) && event.target.tagName === 'BUTTON';\n}\nfunction isSpaceIgnored(element) {\n return isTypeableElement(element);\n}\n/**\n * Opens or closes the floating element when clicking the reference element.\n * @see https://floating-ui.com/docs/useClick\n */\nfunction useClick(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n dataRef,\n elements: {\n domReference\n }\n } = context;\n const {\n enabled = true,\n event: eventOption = 'click',\n toggle = true,\n ignoreMouse = false,\n keyboardHandlers = true\n } = props;\n const pointerTypeRef = React.useRef();\n const didKeyDownRef = React.useRef(false);\n return React.useMemo(() => {\n if (!enabled) return {};\n return {\n reference: {\n onPointerDown(event) {\n pointerTypeRef.current = event.pointerType;\n },\n onMouseDown(event) {\n // Ignore all buttons except for the \"main\" button.\n // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button\n if (event.button !== 0) {\n return;\n }\n if (isMouseLikePointerType(pointerTypeRef.current, true) && ignoreMouse) {\n return;\n }\n if (eventOption === 'click') {\n return;\n }\n if (open && toggle && (dataRef.current.openEvent ? dataRef.current.openEvent.type === 'mousedown' : true)) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n // Prevent stealing focus from the floating element\n event.preventDefault();\n onOpenChange(true, event.nativeEvent, 'click');\n }\n },\n onClick(event) {\n if (eventOption === 'mousedown' && pointerTypeRef.current) {\n pointerTypeRef.current = undefined;\n return;\n }\n if (isMouseLikePointerType(pointerTypeRef.current, true) && ignoreMouse) {\n return;\n }\n if (open && toggle && (dataRef.current.openEvent ? dataRef.current.openEvent.type === 'click' : true)) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n },\n onKeyDown(event) {\n pointerTypeRef.current = undefined;\n if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event)) {\n return;\n }\n if (event.key === ' ' && !isSpaceIgnored(domReference)) {\n // Prevent scrolling\n event.preventDefault();\n didKeyDownRef.current = true;\n }\n if (event.key === 'Enter') {\n if (open && toggle) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n }\n },\n onKeyUp(event) {\n if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event) || isSpaceIgnored(domReference)) {\n return;\n }\n if (event.key === ' ' && didKeyDownRef.current) {\n didKeyDownRef.current = false;\n if (open && toggle) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n }\n }\n }\n };\n }, [enabled, dataRef, eventOption, ignoreMouse, keyboardHandlers, domReference, toggle, open, onOpenChange]);\n}\n\nfunction createVirtualElement(domRef, data) {\n let offsetX = null;\n let offsetY = null;\n let isAutoUpdateEvent = false;\n return {\n contextElement: domRef.current || undefined,\n getBoundingClientRect() {\n var _domRef$current, _data$dataRef$current;\n const domRect = ((_domRef$current = domRef.current) == null ? void 0 : _domRef$current.getBoundingClientRect()) || {\n width: 0,\n height: 0,\n x: 0,\n y: 0\n };\n const isXAxis = data.axis === 'x' || data.axis === 'both';\n const isYAxis = data.axis === 'y' || data.axis === 'both';\n const canTrackCursorOnAutoUpdate = ['mouseenter', 'mousemove'].includes(((_data$dataRef$current = data.dataRef.current.openEvent) == null ? void 0 : _data$dataRef$current.type) || '') && data.pointerType !== 'touch';\n let width = domRect.width;\n let height = domRect.height;\n let x = domRect.x;\n let y = domRect.y;\n if (offsetX == null && data.x && isXAxis) {\n offsetX = domRect.x - data.x;\n }\n if (offsetY == null && data.y && isYAxis) {\n offsetY = domRect.y - data.y;\n }\n x -= offsetX || 0;\n y -= offsetY || 0;\n width = 0;\n height = 0;\n if (!isAutoUpdateEvent || canTrackCursorOnAutoUpdate) {\n width = data.axis === 'y' ? domRect.width : 0;\n height = data.axis === 'x' ? domRect.height : 0;\n x = isXAxis && data.x != null ? data.x : x;\n y = isYAxis && data.y != null ? data.y : y;\n } else if (isAutoUpdateEvent && !canTrackCursorOnAutoUpdate) {\n height = data.axis === 'x' ? domRect.height : height;\n width = data.axis === 'y' ? domRect.width : width;\n }\n isAutoUpdateEvent = true;\n return {\n width,\n height,\n x,\n y,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x\n };\n }\n };\n}\nfunction isMouseBasedEvent(event) {\n return event != null && event.clientX != null;\n}\n/**\n * Positions the floating element relative to a client point (in the viewport),\n * such as the mouse position. By default, it follows the mouse cursor.\n * @see https://floating-ui.com/docs/useClientPoint\n */\nfunction useClientPoint(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n refs,\n dataRef,\n elements: {\n floating\n }\n } = context;\n const {\n enabled = true,\n axis = 'both',\n x = null,\n y = null\n } = props;\n const initialRef = React.useRef(false);\n const cleanupListenerRef = React.useRef(null);\n const [pointerType, setPointerType] = React.useState();\n const [reactive, setReactive] = React.useState([]);\n const setReference = useEffectEvent((x, y) => {\n if (initialRef.current) return;\n\n // Prevent setting if the open event was not a mouse-like one\n // (e.g. focus to open, then hover over the reference element).\n // Only apply if the event exists.\n if (dataRef.current.openEvent && !isMouseBasedEvent(dataRef.current.openEvent)) {\n return;\n }\n refs.setPositionReference(createVirtualElement(refs.domReference, {\n x,\n y,\n axis,\n dataRef,\n pointerType\n }));\n });\n const handleReferenceEnterOrMove = useEffectEvent(event => {\n if (x != null || y != null) return;\n if (!open) {\n setReference(event.clientX, event.clientY);\n } else if (!cleanupListenerRef.current) {\n // If there's no cleanup, there's no listener, but we want to ensure\n // we add the listener if the cursor landed on the floating element and\n // then back on the reference (i.e. it's interactive).\n setReactive([]);\n }\n });\n\n // If the pointer is a mouse-like pointer, we want to continue following the\n // mouse even if the floating element is transitioning out. On touch\n // devices, this is undesirable because the floating element will move to\n // the dismissal touch point.\n const openCheck = isMouseLikePointerType(pointerType) ? floating : open;\n const addListener = React.useCallback(() => {\n // Explicitly specified `x`/`y` coordinates shouldn't add a listener.\n if (!openCheck || !enabled || x != null || y != null) return;\n const win = getWindow(refs.floating.current);\n function handleMouseMove(event) {\n const target = getTarget(event);\n if (!contains(refs.floating.current, target)) {\n setReference(event.clientX, event.clientY);\n } else {\n win.removeEventListener('mousemove', handleMouseMove);\n cleanupListenerRef.current = null;\n }\n }\n if (!dataRef.current.openEvent || isMouseBasedEvent(dataRef.current.openEvent)) {\n win.addEventListener('mousemove', handleMouseMove);\n const cleanup = () => {\n win.removeEventListener('mousemove', handleMouseMove);\n cleanupListenerRef.current = null;\n };\n cleanupListenerRef.current = cleanup;\n return cleanup;\n }\n refs.setPositionReference(refs.domReference.current);\n }, [dataRef, enabled, openCheck, refs, setReference, x, y]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: intentionally specifying `reactive`\n React.useEffect(() => {\n return addListener();\n }, [addListener, reactive]);\n React.useEffect(() => {\n if (enabled && !floating) {\n initialRef.current = false;\n }\n }, [enabled, floating]);\n React.useEffect(() => {\n if (!enabled && open) {\n initialRef.current = true;\n }\n }, [enabled, open]);\n index(() => {\n if (enabled && (x != null || y != null)) {\n initialRef.current = false;\n setReference(x, y);\n }\n }, [enabled, x, y, setReference]);\n return React.useMemo(() => {\n if (!enabled) return {};\n function setPointerTypeRef(_ref) {\n let {\n pointerType\n } = _ref;\n setPointerType(pointerType);\n }\n return {\n reference: {\n onPointerDown: setPointerTypeRef,\n onPointerEnter: setPointerTypeRef,\n onMouseMove: handleReferenceEnterOrMove,\n onMouseEnter: handleReferenceEnterOrMove\n }\n };\n }, [enabled, handleReferenceEnterOrMove]);\n}\n\nconst bubbleHandlerKeys = {\n pointerdown: 'onPointerDown',\n mousedown: 'onMouseDown',\n click: 'onClick'\n};\nconst captureHandlerKeys = {\n pointerdown: 'onPointerDownCapture',\n mousedown: 'onMouseDownCapture',\n click: 'onClickCapture'\n};\nconst normalizeProp = normalizable => {\n var _normalizable$escapeK, _normalizable$outside;\n return {\n escapeKey: typeof normalizable === 'boolean' ? normalizable : (_normalizable$escapeK = normalizable == null ? void 0 : normalizable.escapeKey) != null ? _normalizable$escapeK : false,\n outsidePress: typeof normalizable === 'boolean' ? normalizable : (_normalizable$outside = normalizable == null ? void 0 : normalizable.outsidePress) != null ? _normalizable$outside : true\n };\n};\n/**\n * Closes the floating element when a dismissal is requested — by default, when\n * the user presses the `escape` key or outside of the floating element.\n * @see https://floating-ui.com/docs/useDismiss\n */\nfunction useDismiss(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n nodeId,\n elements: {\n reference,\n domReference,\n floating\n },\n dataRef\n } = context;\n const {\n enabled = true,\n escapeKey = true,\n outsidePress: unstable_outsidePress = true,\n outsidePressEvent = 'pointerdown',\n referencePress = false,\n referencePressEvent = 'pointerdown',\n ancestorScroll = false,\n bubbles,\n capture\n } = props;\n const tree = useFloatingTree();\n const outsidePressFn = useEffectEvent(typeof unstable_outsidePress === 'function' ? unstable_outsidePress : () => false);\n const outsidePress = typeof unstable_outsidePress === 'function' ? outsidePressFn : unstable_outsidePress;\n const insideReactTreeRef = React.useRef(false);\n const endedOrStartedInsideRef = React.useRef(false);\n const {\n escapeKey: escapeKeyBubbles,\n outsidePress: outsidePressBubbles\n } = normalizeProp(bubbles);\n const {\n escapeKey: escapeKeyCapture,\n outsidePress: outsidePressCapture\n } = normalizeProp(capture);\n const closeOnEscapeKeyDown = useEffectEvent(event => {\n if (!open || !enabled || !escapeKey || event.key !== 'Escape') {\n return;\n }\n const children = tree ? getChildren(tree.nodesRef.current, nodeId) : [];\n if (!escapeKeyBubbles) {\n event.stopPropagation();\n if (children.length > 0) {\n let shouldDismiss = true;\n children.forEach(child => {\n var _child$context;\n if ((_child$context = child.context) != null && _child$context.open && !child.context.dataRef.current.__escapeKeyBubbles) {\n shouldDismiss = false;\n return;\n }\n });\n if (!shouldDismiss) {\n return;\n }\n }\n }\n onOpenChange(false, isReactEvent(event) ? event.nativeEvent : event, 'escape-key');\n });\n const closeOnEscapeKeyDownCapture = useEffectEvent(event => {\n var _getTarget2;\n const callback = () => {\n var _getTarget;\n closeOnEscapeKeyDown(event);\n (_getTarget = getTarget(event)) == null || _getTarget.removeEventListener('keydown', callback);\n };\n (_getTarget2 = getTarget(event)) == null || _getTarget2.addEventListener('keydown', callback);\n });\n const closeOnPressOutside = useEffectEvent(event => {\n // Given developers can stop the propagation of the synthetic event,\n // we can only be confident with a positive value.\n const insideReactTree = insideReactTreeRef.current;\n insideReactTreeRef.current = false;\n\n // When click outside is lazy (`click` event), handle dragging.\n // Don't close if:\n // - The click started inside the floating element.\n // - The click ended inside the floating element.\n const endedOrStartedInside = endedOrStartedInsideRef.current;\n endedOrStartedInsideRef.current = false;\n if (outsidePressEvent === 'click' && endedOrStartedInside) {\n return;\n }\n if (insideReactTree) {\n return;\n }\n if (typeof outsidePress === 'function' && !outsidePress(event)) {\n return;\n }\n const target = getTarget(event);\n const inertSelector = \"[\" + createAttribute('inert') + \"]\";\n const markers = getDocument(floating).querySelectorAll(inertSelector);\n let targetRootAncestor = isElement(target) ? target : null;\n while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) {\n const nextParent = getParentNode(targetRootAncestor);\n if (isLastTraversableNode(nextParent) || !isElement(nextParent)) {\n break;\n }\n targetRootAncestor = nextParent;\n }\n\n // Check if the click occurred on a third-party element injected after the\n // floating element rendered.\n if (markers.length && isElement(target) && !isRootElement(target) &&\n // Clicked on a direct ancestor (e.g. FloatingOverlay).\n !contains(target, floating) &&\n // If the target root element contains none of the markers, then the\n // element was injected after the floating element rendered.\n Array.from(markers).every(marker => !contains(targetRootAncestor, marker))) {\n return;\n }\n\n // Check if the click occurred on the scrollbar\n if (isHTMLElement(target) && floating) {\n // In Firefox, `target.scrollWidth > target.clientWidth` for inline\n // elements.\n const canScrollX = target.clientWidth > 0 && target.scrollWidth > target.clientWidth;\n const canScrollY = target.clientHeight > 0 && target.scrollHeight > target.clientHeight;\n let xCond = canScrollY && event.offsetX > target.clientWidth;\n\n // In some browsers it is possible to change the (or window)\n // scrollbar to the left side, but is very rare and is difficult to\n // check for. Plus, for modal dialogs with backdrops, it is more\n // important that the backdrop is checked but not so much the window.\n if (canScrollY) {\n const isRTL = getComputedStyle(target).direction === 'rtl';\n if (isRTL) {\n xCond = event.offsetX <= target.offsetWidth - target.clientWidth;\n }\n }\n if (xCond || canScrollX && event.offsetY > target.clientHeight) {\n return;\n }\n }\n const targetIsInsideChildren = tree && getChildren(tree.nodesRef.current, nodeId).some(node => {\n var _node$context;\n return isEventTargetWithin(event, (_node$context = node.context) == null ? void 0 : _node$context.elements.floating);\n });\n if (isEventTargetWithin(event, floating) || isEventTargetWithin(event, domReference) || targetIsInsideChildren) {\n return;\n }\n const children = tree ? getChildren(tree.nodesRef.current, nodeId) : [];\n if (children.length > 0) {\n let shouldDismiss = true;\n children.forEach(child => {\n var _child$context2;\n if ((_child$context2 = child.context) != null && _child$context2.open && !child.context.dataRef.current.__outsidePressBubbles) {\n shouldDismiss = false;\n return;\n }\n });\n if (!shouldDismiss) {\n return;\n }\n }\n onOpenChange(false, event, 'outside-press');\n });\n const closeOnPressOutsideCapture = useEffectEvent(event => {\n var _getTarget4;\n const callback = () => {\n var _getTarget3;\n closeOnPressOutside(event);\n (_getTarget3 = getTarget(event)) == null || _getTarget3.removeEventListener(outsidePressEvent, callback);\n };\n (_getTarget4 = getTarget(event)) == null || _getTarget4.addEventListener(outsidePressEvent, callback);\n });\n React.useEffect(() => {\n if (!open || !enabled) {\n return;\n }\n dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;\n dataRef.current.__outsidePressBubbles = outsidePressBubbles;\n function onScroll(event) {\n onOpenChange(false, event, 'ancestor-scroll');\n }\n const doc = getDocument(floating);\n escapeKey && doc.addEventListener('keydown', escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n outsidePress && doc.addEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);\n let ancestors = [];\n if (ancestorScroll) {\n if (isElement(domReference)) {\n ancestors = getOverflowAncestors(domReference);\n }\n if (isElement(floating)) {\n ancestors = ancestors.concat(getOverflowAncestors(floating));\n }\n if (!isElement(reference) && reference && reference.contextElement) {\n ancestors = ancestors.concat(getOverflowAncestors(reference.contextElement));\n }\n }\n\n // Ignore the visual viewport for scrolling dismissal (allow pinch-zoom)\n ancestors = ancestors.filter(ancestor => {\n var _doc$defaultView;\n return ancestor !== ((_doc$defaultView = doc.defaultView) == null ? void 0 : _doc$defaultView.visualViewport);\n });\n ancestors.forEach(ancestor => {\n ancestor.addEventListener('scroll', onScroll, {\n passive: true\n });\n });\n return () => {\n escapeKey && doc.removeEventListener('keydown', escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n outsidePress && doc.removeEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);\n ancestors.forEach(ancestor => {\n ancestor.removeEventListener('scroll', onScroll);\n });\n };\n }, [dataRef, floating, domReference, reference, escapeKey, outsidePress, outsidePressEvent, open, onOpenChange, ancestorScroll, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, escapeKeyCapture, closeOnEscapeKeyDownCapture, closeOnPressOutside, outsidePressCapture, closeOnPressOutsideCapture]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: intentional\n React.useEffect(() => {\n insideReactTreeRef.current = false;\n }, [outsidePress, outsidePressEvent]);\n return React.useMemo(() => {\n if (!enabled) {\n return {};\n }\n return {\n reference: {\n onKeyDown: closeOnEscapeKeyDown,\n [bubbleHandlerKeys[referencePressEvent]]: event => {\n if (referencePress) {\n onOpenChange(false, event.nativeEvent, 'reference-press');\n }\n }\n },\n floating: {\n onKeyDown: closeOnEscapeKeyDown,\n onMouseDown() {\n endedOrStartedInsideRef.current = true;\n },\n onMouseUp() {\n endedOrStartedInsideRef.current = true;\n },\n [captureHandlerKeys[outsidePressEvent]]: () => {\n insideReactTreeRef.current = true;\n }\n }\n };\n }, [enabled, referencePress, outsidePressEvent, referencePressEvent, onOpenChange, closeOnEscapeKeyDown]);\n}\n\nlet devMessageSet;\nif (process.env.NODE_ENV !== \"production\") {\n devMessageSet = /*#__PURE__*/new Set();\n}\n\n/**\n * Provides data to position a floating element and context to add interactions.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n var _options$elements2;\n if (options === void 0) {\n options = {};\n }\n const {\n open = false,\n onOpenChange: unstable_onOpenChange,\n nodeId\n } = options;\n if (process.env.NODE_ENV !== \"production\") {\n var _options$elements;\n const err = 'Floating UI: Cannot pass a virtual element to the ' + '`elements.reference` option, as it must be a real DOM element. ' + 'Use `refs.setPositionReference` instead.';\n if ((_options$elements = options.elements) != null && _options$elements.reference && !isElement(options.elements.reference)) {\n var _devMessageSet;\n if (!((_devMessageSet = devMessageSet) != null && _devMessageSet.has(err))) {\n var _devMessageSet2;\n (_devMessageSet2 = devMessageSet) == null || _devMessageSet2.add(err);\n console.error(err);\n }\n }\n }\n const [_domReference, setDomReference] = React.useState(null);\n const domReference = ((_options$elements2 = options.elements) == null ? void 0 : _options$elements2.reference) || _domReference;\n const position = useFloating$1(options);\n const tree = useFloatingTree();\n const nested = useFloatingParentNodeId() != null;\n const onOpenChange = useEffectEvent((open, event, reason) => {\n if (open) {\n dataRef.current.openEvent = event;\n }\n events.emit('openchange', {\n open,\n event,\n reason,\n nested\n });\n unstable_onOpenChange == null || unstable_onOpenChange(open, event, reason);\n });\n const domReferenceRef = React.useRef(null);\n const dataRef = React.useRef({});\n const events = React.useState(() => createPubSub())[0];\n const floatingId = useId();\n const setPositionReference = React.useCallback(node => {\n const positionReference = isElement(node) ? {\n getBoundingClientRect: () => node.getBoundingClientRect(),\n contextElement: node\n } : node;\n position.refs.setReference(positionReference);\n }, [position.refs]);\n const setReference = React.useCallback(node => {\n if (isElement(node) || node === null) {\n domReferenceRef.current = node;\n setDomReference(node);\n }\n\n // Backwards-compatibility for passing a virtual element to `reference`\n // after it has set the DOM reference.\n if (isElement(position.refs.reference.current) || position.refs.reference.current === null ||\n // Don't allow setting virtual elements using the old technique back to\n // `null` to support `positionReference` + an unstable `reference`\n // callback ref.\n node !== null && !isElement(node)) {\n position.refs.setReference(node);\n }\n }, [position.refs]);\n const refs = React.useMemo(() => ({\n ...position.refs,\n setReference,\n setPositionReference,\n domReference: domReferenceRef\n }), [position.refs, setReference, setPositionReference]);\n const elements = React.useMemo(() => ({\n ...position.elements,\n domReference: domReference\n }), [position.elements, domReference]);\n const context = React.useMemo(() => ({\n ...position,\n refs,\n elements,\n dataRef,\n nodeId,\n floatingId,\n events,\n open,\n onOpenChange\n }), [position, nodeId, floatingId, events, open, onOpenChange, refs, elements]);\n index(() => {\n const node = tree == null ? void 0 : tree.nodesRef.current.find(node => node.id === nodeId);\n if (node) {\n node.context = context;\n }\n });\n return React.useMemo(() => ({\n ...position,\n context,\n refs,\n elements\n }), [position, refs, elements, context]);\n}\n\n/**\n * Opens the floating element while the reference element has focus, like CSS\n * `:focus`.\n * @see https://floating-ui.com/docs/useFocus\n */\nfunction useFocus(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n events,\n refs,\n elements: {\n domReference\n }\n } = context;\n const {\n enabled = true,\n visibleOnly = true\n } = props;\n const blockFocusRef = React.useRef(false);\n const timeoutRef = React.useRef();\n const keyboardModalityRef = React.useRef(true);\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n const win = getWindow(domReference);\n\n // If the reference was focused and the user left the tab/window, and the\n // floating element was not open, the focus should be blocked when they\n // return to the tab/window.\n function onBlur() {\n if (!open && isHTMLElement(domReference) && domReference === activeElement(getDocument(domReference))) {\n blockFocusRef.current = true;\n }\n }\n function onKeyDown() {\n keyboardModalityRef.current = true;\n }\n win.addEventListener('blur', onBlur);\n win.addEventListener('keydown', onKeyDown, true);\n return () => {\n win.removeEventListener('blur', onBlur);\n win.removeEventListener('keydown', onKeyDown, true);\n };\n }, [domReference, open, enabled]);\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n function onOpenChange(_ref) {\n let {\n reason\n } = _ref;\n if (reason === 'reference-press' || reason === 'escape-key') {\n blockFocusRef.current = true;\n }\n }\n events.on('openchange', onOpenChange);\n return () => {\n events.off('openchange', onOpenChange);\n };\n }, [events, enabled]);\n React.useEffect(() => {\n return () => {\n clearTimeout(timeoutRef.current);\n };\n }, []);\n return React.useMemo(() => {\n if (!enabled) {\n return {};\n }\n return {\n reference: {\n onPointerDown(event) {\n if (isVirtualPointerEvent(event.nativeEvent)) return;\n keyboardModalityRef.current = false;\n },\n onMouseLeave() {\n blockFocusRef.current = false;\n },\n onFocus(event) {\n if (blockFocusRef.current) return;\n const target = getTarget(event.nativeEvent);\n if (visibleOnly && isElement(target)) {\n try {\n // Mac Safari unreliably matches `:focus-visible` on the reference\n // if focus was outside the page initially - use the fallback\n // instead.\n if (isSafari() && isMac()) throw Error();\n if (!target.matches(':focus-visible')) return;\n } catch (e) {\n // Old browsers will throw an error when using `:focus-visible`.\n if (!keyboardModalityRef.current && !isTypeableElement(target)) {\n return;\n }\n }\n }\n onOpenChange(true, event.nativeEvent, 'focus');\n },\n onBlur(event) {\n blockFocusRef.current = false;\n const relatedTarget = event.relatedTarget;\n\n // Hit the non-modal focus management portal guard. Focus will be\n // moved into the floating element immediately after.\n const movedToFocusGuard = isElement(relatedTarget) && relatedTarget.hasAttribute(createAttribute('focus-guard')) && relatedTarget.getAttribute('data-type') === 'outside';\n\n // Wait for the window blur listener to fire.\n timeoutRef.current = window.setTimeout(() => {\n const activeEl = activeElement(domReference ? domReference.ownerDocument : document);\n\n // Focus left the page, keep it open.\n if (!relatedTarget && activeEl === domReference) return;\n\n // When focusing the reference element (e.g. regular click), then\n // clicking into the floating element, prevent it from hiding.\n // Note: it must be focusable, e.g. `tabindex=\"-1\"`.\n // We can not rely on relatedTarget to point to the correct element\n // as it will only point to the shadow host of the newly focused element\n // and not the element that actually has received focus if it is located\n // inside a shadow root.\n if (contains(refs.floating.current, activeEl) || contains(domReference, activeEl) || movedToFocusGuard) {\n return;\n }\n onOpenChange(false, event.nativeEvent, 'focus');\n });\n }\n }\n };\n }, [enabled, visibleOnly, domReference, refs, onOpenChange]);\n}\n\nconst ACTIVE_KEY = 'active';\nconst SELECTED_KEY = 'selected';\nfunction mergeProps(userProps, propsList, elementKey) {\n const map = new Map();\n const isItem = elementKey === 'item';\n let domUserProps = userProps;\n if (isItem && userProps) {\n const {\n [ACTIVE_KEY]: _,\n [SELECTED_KEY]: __,\n ...validProps\n } = userProps;\n domUserProps = validProps;\n }\n return {\n ...(elementKey === 'floating' && {\n tabIndex: -1\n }),\n ...domUserProps,\n ...propsList.map(value => {\n const propsOrGetProps = value ? value[elementKey] : null;\n if (typeof propsOrGetProps === 'function') {\n return userProps ? propsOrGetProps(userProps) : null;\n }\n return propsOrGetProps;\n }).concat(userProps).reduce((acc, props) => {\n if (!props) {\n return acc;\n }\n Object.entries(props).forEach(_ref => {\n let [key, value] = _ref;\n if (isItem && [ACTIVE_KEY, SELECTED_KEY].includes(key)) {\n return;\n }\n if (key.indexOf('on') === 0) {\n if (!map.has(key)) {\n map.set(key, []);\n }\n if (typeof value === 'function') {\n var _map$get;\n (_map$get = map.get(key)) == null || _map$get.push(value);\n acc[key] = function () {\n var _map$get2;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_map$get2 = map.get(key)) == null ? void 0 : _map$get2.map(fn => fn(...args)).find(val => val !== undefined);\n };\n }\n } else {\n acc[key] = value;\n }\n });\n return acc;\n }, {})\n };\n}\n\n/**\n * Merges an array of interaction hooks' props into prop getters, allowing\n * event handler functions to be composed together without overwriting one\n * another.\n * @see https://floating-ui.com/docs/useInteractions\n */\nfunction useInteractions(propsList) {\n if (propsList === void 0) {\n propsList = [];\n }\n // The dependencies are a dynamic array, so we can't use the linter's\n // suggestion to add it to the deps array.\n const deps = propsList;\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: intentional\n const getReferenceProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'reference'), deps);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: intentional\n const getFloatingProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'floating'), deps);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: intentional\n const getItemProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'item'),\n // Granularly check for `item` changes, because the `getItemProps` getter\n // should be as referentially stable as possible since it may be passed as\n // a prop to many components. All `item` key values must therefore be\n // memoized.\n propsList.map(key => key == null ? void 0 : key.item));\n return React.useMemo(() => ({\n getReferenceProps,\n getFloatingProps,\n getItemProps\n }), [getReferenceProps, getFloatingProps, getItemProps]);\n}\n\nlet isPreventScrollSupported = false;\nfunction doSwitch(orientation, vertical, horizontal) {\n switch (orientation) {\n case 'vertical':\n return vertical;\n case 'horizontal':\n return horizontal;\n default:\n return vertical || horizontal;\n }\n}\nfunction isMainOrientationKey(key, orientation) {\n const vertical = key === ARROW_UP || key === ARROW_DOWN;\n const horizontal = key === ARROW_LEFT || key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isMainOrientationToEndKey(key, orientation, rtl) {\n const vertical = key === ARROW_DOWN;\n const horizontal = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal) || key === 'Enter' || key === ' ' || key === '';\n}\nfunction isCrossOrientationOpenKey(key, orientation, rtl) {\n const vertical = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n const horizontal = key === ARROW_DOWN;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isCrossOrientationCloseKey(key, orientation, rtl) {\n const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;\n const horizontal = key === ARROW_UP;\n return doSwitch(orientation, vertical, horizontal);\n}\n/**\n * Adds arrow key-based navigation of a list of items, either using real DOM\n * focus or virtual focus.\n * @see https://floating-ui.com/docs/useListNavigation\n */\nfunction useListNavigation(context, props) {\n const {\n open,\n onOpenChange,\n refs,\n elements: {\n domReference,\n floating\n }\n } = context;\n const {\n listRef,\n activeIndex,\n onNavigate: unstable_onNavigate = () => {},\n enabled = true,\n selectedIndex = null,\n allowEscape = false,\n loop = false,\n nested = false,\n rtl = false,\n virtual = false,\n focusItemOnOpen = 'auto',\n focusItemOnHover = true,\n openOnArrowKeyDown = true,\n disabledIndices = undefined,\n orientation = 'vertical',\n cols = 1,\n scrollItemIntoView = true,\n virtualItemRef,\n itemSizes,\n dense = false\n } = props;\n if (process.env.NODE_ENV !== \"production\") {\n if (allowEscape) {\n if (!loop) {\n console.warn(['Floating UI: `useListNavigation` looping must be enabled to allow', 'escaping.'].join(' '));\n }\n if (!virtual) {\n console.warn(['Floating UI: `useListNavigation` must be virtual to allow', 'escaping.'].join(' '));\n }\n }\n if (orientation === 'vertical' && cols > 1) {\n console.warn(['Floating UI: In grid list navigation mode (`cols` > 1), the', '`orientation` should be either \"horizontal\" or \"both\".'].join(' '));\n }\n }\n const parentId = useFloatingParentNodeId();\n const tree = useFloatingTree();\n const onNavigate = useEffectEvent(unstable_onNavigate);\n const focusItemOnOpenRef = React.useRef(focusItemOnOpen);\n const indexRef = React.useRef(selectedIndex != null ? selectedIndex : -1);\n const keyRef = React.useRef(null);\n const isPointerModalityRef = React.useRef(true);\n const previousOnNavigateRef = React.useRef(onNavigate);\n const previousMountedRef = React.useRef(!!floating);\n const forceSyncFocus = React.useRef(false);\n const forceScrollIntoViewRef = React.useRef(false);\n const disabledIndicesRef = useLatestRef(disabledIndices);\n const latestOpenRef = useLatestRef(open);\n const scrollItemIntoViewRef = useLatestRef(scrollItemIntoView);\n const [activeId, setActiveId] = React.useState();\n const [virtualId, setVirtualId] = React.useState();\n const focusItem = useEffectEvent(function (listRef, indexRef, forceScrollIntoView) {\n if (forceScrollIntoView === void 0) {\n forceScrollIntoView = false;\n }\n const item = listRef.current[indexRef.current];\n if (!item) return;\n if (virtual) {\n setActiveId(item.id);\n tree == null || tree.events.emit('virtualfocus', item);\n if (virtualItemRef) {\n virtualItemRef.current = item;\n }\n } else {\n enqueueFocus(item, {\n preventScroll: true,\n // Mac Safari does not move the virtual cursor unless the focus call\n // is sync. However, for the very first focus call, we need to wait\n // for the position to be ready in order to prevent unwanted\n // scrolling. This means the virtual cursor will not move to the first\n // item when first opening the floating element, but will on\n // subsequent calls. `preventScroll` is supported in modern Safari,\n // so we can use that instead.\n // iOS Safari must be async or the first item will not be focused.\n sync: isMac() && isSafari() ? isPreventScrollSupported || forceSyncFocus.current : false\n });\n }\n requestAnimationFrame(() => {\n const scrollIntoViewOptions = scrollItemIntoViewRef.current;\n const shouldScrollIntoView = scrollIntoViewOptions && item && (forceScrollIntoView || !isPointerModalityRef.current);\n if (shouldScrollIntoView) {\n // JSDOM doesn't support `.scrollIntoView()` but it's widely supported\n // by all browsers.\n item.scrollIntoView == null || item.scrollIntoView(typeof scrollIntoViewOptions === 'boolean' ? {\n block: 'nearest',\n inline: 'nearest'\n } : scrollIntoViewOptions);\n }\n });\n });\n index(() => {\n document.createElement('div').focus({\n get preventScroll() {\n isPreventScrollSupported = true;\n return false;\n }\n });\n }, []);\n\n // Sync `selectedIndex` to be the `activeIndex` upon opening the floating\n // element. Also, reset `activeIndex` upon closing the floating element.\n index(() => {\n if (!enabled) {\n return;\n }\n if (open && floating) {\n if (focusItemOnOpenRef.current && selectedIndex != null) {\n // Regardless of the pointer modality, we want to ensure the selected\n // item comes into view when the floating element is opened.\n forceScrollIntoViewRef.current = true;\n indexRef.current = selectedIndex;\n onNavigate(selectedIndex);\n }\n } else if (previousMountedRef.current) {\n // Since the user can specify `onNavigate` conditionally\n // (onNavigate: open ? setActiveIndex : setSelectedIndex),\n // we store and call the previous function.\n indexRef.current = -1;\n previousOnNavigateRef.current(null);\n }\n }, [enabled, open, floating, selectedIndex, onNavigate]);\n\n // Sync `activeIndex` to be the focused item while the floating element is\n // open.\n index(() => {\n if (!enabled) {\n return;\n }\n if (open && floating) {\n if (activeIndex == null) {\n forceSyncFocus.current = false;\n if (selectedIndex != null) {\n return;\n }\n\n // Reset while the floating element was open (e.g. the list changed).\n if (previousMountedRef.current) {\n indexRef.current = -1;\n focusItem(listRef, indexRef);\n }\n\n // Initial sync.\n if (!previousMountedRef.current && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {\n let runs = 0;\n const waitForListPopulated = () => {\n if (listRef.current[0] == null) {\n // Avoid letting the browser paint if possible on the first try,\n // otherwise use rAF. Don't try more than twice, since something\n // is wrong otherwise.\n if (runs < 2) {\n const scheduler = runs ? requestAnimationFrame : queueMicrotask;\n scheduler(waitForListPopulated);\n }\n runs++;\n } else {\n indexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, orientation, rtl) || nested ? getMinIndex(listRef, disabledIndicesRef.current) : getMaxIndex(listRef, disabledIndicesRef.current);\n keyRef.current = null;\n onNavigate(indexRef.current);\n }\n };\n waitForListPopulated();\n }\n } else if (!isIndexOutOfBounds(listRef, activeIndex)) {\n indexRef.current = activeIndex;\n focusItem(listRef, indexRef, forceScrollIntoViewRef.current);\n forceScrollIntoViewRef.current = false;\n }\n }\n }, [enabled, open, floating, activeIndex, selectedIndex, nested, listRef, orientation, rtl, onNavigate, focusItem, disabledIndicesRef]);\n\n // Ensure the parent floating element has focus when a nested child closes\n // to allow arrow key navigation to work after the pointer leaves the child.\n index(() => {\n var _nodes$find;\n if (!enabled || floating || !tree || virtual || !previousMountedRef.current) {\n return;\n }\n const nodes = tree.nodesRef.current;\n const parent = (_nodes$find = nodes.find(node => node.id === parentId)) == null || (_nodes$find = _nodes$find.context) == null ? void 0 : _nodes$find.elements.floating;\n const activeEl = activeElement(getDocument(floating));\n const treeContainsActiveEl = nodes.some(node => node.context && contains(node.context.elements.floating, activeEl));\n if (parent && !treeContainsActiveEl && isPointerModalityRef.current) {\n parent.focus({\n preventScroll: true\n });\n }\n }, [enabled, floating, tree, parentId, virtual]);\n index(() => {\n if (!enabled || !tree || !virtual || parentId) return;\n function handleVirtualFocus(item) {\n setVirtualId(item.id);\n if (virtualItemRef) {\n virtualItemRef.current = item;\n }\n }\n tree.events.on('virtualfocus', handleVirtualFocus);\n return () => {\n tree.events.off('virtualfocus', handleVirtualFocus);\n };\n }, [enabled, tree, virtual, parentId, virtualItemRef]);\n index(() => {\n previousOnNavigateRef.current = onNavigate;\n previousMountedRef.current = !!floating;\n });\n index(() => {\n if (!open) {\n keyRef.current = null;\n }\n }, [open]);\n const hasActiveIndex = activeIndex != null;\n const item = React.useMemo(() => {\n function syncCurrentTarget(currentTarget) {\n if (!open) return;\n const index = listRef.current.indexOf(currentTarget);\n if (index !== -1) {\n onNavigate(index);\n }\n }\n const props = {\n onFocus(_ref) {\n let {\n currentTarget\n } = _ref;\n syncCurrentTarget(currentTarget);\n },\n onClick: _ref2 => {\n let {\n currentTarget\n } = _ref2;\n return currentTarget.focus({\n preventScroll: true\n });\n },\n // Safari\n ...(focusItemOnHover && {\n onMouseMove(_ref3) {\n let {\n currentTarget\n } = _ref3;\n syncCurrentTarget(currentTarget);\n },\n onPointerLeave(_ref4) {\n let {\n pointerType\n } = _ref4;\n if (!isPointerModalityRef.current || pointerType === 'touch') {\n return;\n }\n indexRef.current = -1;\n focusItem(listRef, indexRef);\n onNavigate(null);\n if (!virtual) {\n enqueueFocus(refs.floating.current, {\n preventScroll: true\n });\n }\n }\n })\n };\n return props;\n }, [open, refs, focusItem, focusItemOnHover, listRef, onNavigate, virtual]);\n return React.useMemo(() => {\n if (!enabled) {\n return {};\n }\n const disabledIndices = disabledIndicesRef.current;\n function onKeyDown(event) {\n isPointerModalityRef.current = false;\n forceSyncFocus.current = true;\n\n // If the floating element is animating out, ignore navigation. Otherwise,\n // the `activeIndex` gets set to 0 despite not being open so the next time\n // the user ArrowDowns, the first item won't be focused.\n if (!latestOpenRef.current && event.currentTarget === refs.floating.current) {\n return;\n }\n if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl)) {\n stopEvent(event);\n onOpenChange(false, event.nativeEvent, 'list-navigation');\n if (isHTMLElement(domReference) && !virtual) {\n domReference.focus();\n }\n return;\n }\n const currentIndex = indexRef.current;\n const minIndex = getMinIndex(listRef, disabledIndices);\n const maxIndex = getMaxIndex(listRef, disabledIndices);\n if (event.key === 'Home') {\n stopEvent(event);\n indexRef.current = minIndex;\n onNavigate(indexRef.current);\n }\n if (event.key === 'End') {\n stopEvent(event);\n indexRef.current = maxIndex;\n onNavigate(indexRef.current);\n }\n\n // Grid navigation.\n if (cols > 1) {\n const sizes = itemSizes || Array.from({\n length: listRef.current.length\n }, () => ({\n width: 1,\n height: 1\n }));\n // To calculate movements on the grid, we use hypothetical cell indices\n // as if every item was 1x1, then convert back to real indices.\n const cellMap = buildCellMap(sizes, cols, dense);\n const minGridIndex = cellMap.findIndex(index => index != null && !(disabledIndices != null && disabledIndices.includes(index)));\n // last enabled index\n const maxGridIndex = cellMap.reduce((foundIndex, index, cellIndex) => index != null && !(disabledIndices != null && disabledIndices.includes(index)) ? cellIndex : foundIndex, -1);\n indexRef.current = cellMap[getGridNavigatedIndex({\n current: cellMap.map(itemIndex => itemIndex != null ? listRef.current[itemIndex] : null)\n }, {\n event,\n orientation,\n loop,\n cols,\n // treat undefined (empty grid spaces) as disabled indices so we\n // don't end up in them\n disabledIndices: getCellIndices([...(disabledIndices || []), undefined], cellMap),\n minIndex: minGridIndex,\n maxIndex: maxGridIndex,\n prevIndex: getCellIndexOfCorner(indexRef.current, sizes, cellMap, cols,\n // use a corner matching the edge closest to the direction\n // we're moving in so we don't end up in the same item. Prefer\n // top/left over bottom/right.\n event.key === ARROW_DOWN ? 'bl' : event.key === ARROW_RIGHT ? 'tr' : 'tl'),\n stopEvent: true\n })]; // navigated cell will never be nullish\n\n onNavigate(indexRef.current);\n if (orientation === 'both') {\n return;\n }\n }\n if (isMainOrientationKey(event.key, orientation)) {\n stopEvent(event);\n\n // Reset the index if no item is focused.\n if (open && !virtual && activeElement(event.currentTarget.ownerDocument) === event.currentTarget) {\n indexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;\n onNavigate(indexRef.current);\n return;\n }\n if (isMainOrientationToEndKey(event.key, orientation, rtl)) {\n if (loop) {\n indexRef.current = currentIndex >= maxIndex ? allowEscape && currentIndex !== listRef.current.length ? -1 : minIndex : findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n disabledIndices\n });\n } else {\n indexRef.current = Math.min(maxIndex, findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n disabledIndices\n }));\n }\n } else {\n if (loop) {\n indexRef.current = currentIndex <= minIndex ? allowEscape && currentIndex !== -1 ? listRef.current.length : maxIndex : findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n });\n } else {\n indexRef.current = Math.max(minIndex, findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n }));\n }\n }\n if (isIndexOutOfBounds(listRef, indexRef.current)) {\n onNavigate(null);\n } else {\n onNavigate(indexRef.current);\n }\n }\n }\n function checkVirtualMouse(event) {\n if (focusItemOnOpen === 'auto' && isVirtualClick(event.nativeEvent)) {\n focusItemOnOpenRef.current = true;\n }\n }\n function checkVirtualPointer(event) {\n // `pointerdown` fires first, reset the state then perform the checks.\n focusItemOnOpenRef.current = focusItemOnOpen;\n if (focusItemOnOpen === 'auto' && isVirtualPointerEvent(event.nativeEvent)) {\n focusItemOnOpenRef.current = true;\n }\n }\n const ariaActiveDescendantProp = virtual && open && hasActiveIndex && {\n 'aria-activedescendant': virtualId || activeId\n };\n const activeItem = listRef.current.find(item => (item == null ? void 0 : item.id) === activeId);\n return {\n reference: {\n ...ariaActiveDescendantProp,\n onKeyDown(event) {\n isPointerModalityRef.current = false;\n const isArrowKey = event.key.indexOf('Arrow') === 0;\n const isCrossOpenKey = isCrossOrientationOpenKey(event.key, orientation, rtl);\n const isCrossCloseKey = isCrossOrientationCloseKey(event.key, orientation, rtl);\n const isMainKey = isMainOrientationKey(event.key, orientation);\n const isNavigationKey = (nested ? isCrossOpenKey : isMainKey) || event.key === 'Enter' || event.key.trim() === '';\n if (virtual && open) {\n const rootNode = tree == null ? void 0 : tree.nodesRef.current.find(node => node.parentId == null);\n const deepestNode = tree && rootNode ? getDeepestNode(tree.nodesRef.current, rootNode.id) : null;\n if (isArrowKey && deepestNode && virtualItemRef) {\n const eventObject = new KeyboardEvent('keydown', {\n key: event.key,\n bubbles: true\n });\n if (isCrossOpenKey || isCrossCloseKey) {\n var _deepestNode$context, _deepestNode$context2;\n const isCurrentTarget = ((_deepestNode$context = deepestNode.context) == null ? void 0 : _deepestNode$context.elements.domReference) === event.currentTarget;\n const dispatchItem = isCrossCloseKey && !isCurrentTarget ? (_deepestNode$context2 = deepestNode.context) == null ? void 0 : _deepestNode$context2.elements.domReference : isCrossOpenKey ? activeItem : null;\n if (dispatchItem) {\n stopEvent(event);\n dispatchItem.dispatchEvent(eventObject);\n setVirtualId(undefined);\n }\n }\n if (isMainKey && deepestNode.context) {\n if (deepestNode.context.open && deepestNode.parentId && event.currentTarget !== deepestNode.context.elements.domReference) {\n var _deepestNode$context$;\n stopEvent(event);\n (_deepestNode$context$ = deepestNode.context.elements.domReference) == null || _deepestNode$context$.dispatchEvent(eventObject);\n return;\n }\n }\n }\n return onKeyDown(event);\n }\n\n // If a floating element should not open on arrow key down, avoid\n // setting `activeIndex` while it's closed.\n if (!open && !openOnArrowKeyDown && isArrowKey) {\n return;\n }\n if (isNavigationKey) {\n keyRef.current = nested && isMainKey ? null : event.key;\n }\n if (nested) {\n if (isCrossOpenKey) {\n stopEvent(event);\n if (open) {\n indexRef.current = getMinIndex(listRef, disabledIndices);\n onNavigate(indexRef.current);\n } else {\n onOpenChange(true, event.nativeEvent, 'list-navigation');\n }\n }\n return;\n }\n if (isMainKey) {\n if (selectedIndex != null) {\n indexRef.current = selectedIndex;\n }\n stopEvent(event);\n if (!open && openOnArrowKeyDown) {\n onOpenChange(true, event.nativeEvent, 'list-navigation');\n } else {\n onKeyDown(event);\n }\n if (open) {\n onNavigate(indexRef.current);\n }\n }\n },\n onFocus() {\n if (open) {\n onNavigate(null);\n }\n },\n onPointerDown: checkVirtualPointer,\n onMouseDown: checkVirtualMouse,\n onClick: checkVirtualMouse\n },\n floating: {\n 'aria-orientation': orientation === 'both' ? undefined : orientation,\n ...(!isTypeableCombobox(domReference) && ariaActiveDescendantProp),\n onKeyDown,\n onPointerMove() {\n isPointerModalityRef.current = true;\n }\n },\n item\n };\n }, [domReference, refs, activeId, virtualId, disabledIndicesRef, latestOpenRef, listRef, enabled, orientation, rtl, virtual, open, hasActiveIndex, nested, selectedIndex, openOnArrowKeyDown, allowEscape, cols, loop, focusItemOnOpen, onNavigate, onOpenChange, item, tree, virtualItemRef, itemSizes, dense]);\n}\n\nconst componentRoleToAriaRoleMap = /*#__PURE__*/new Map([['select', 'listbox'], ['combobox', 'listbox'], ['label', false]]);\n\n/**\n * Adds base screen reader props to the reference and floating elements for a\n * given floating element `role`.\n * @see https://floating-ui.com/docs/useRole\n */\nfunction useRole(context, props) {\n var _componentRoleToAriaR;\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n floatingId\n } = context;\n const {\n enabled = true,\n role = 'dialog'\n } = props;\n const ariaRole = (_componentRoleToAriaR = componentRoleToAriaRoleMap.get(role)) != null ? _componentRoleToAriaR : role;\n const referenceId = useId();\n const parentId = useFloatingParentNodeId();\n const isNested = parentId != null;\n return React.useMemo(() => {\n if (!enabled) return {};\n const floatingProps = {\n id: floatingId,\n ...(ariaRole && {\n role: ariaRole\n })\n };\n if (ariaRole === 'tooltip' || role === 'label') {\n return {\n reference: {\n [\"aria-\" + (role === 'label' ? 'labelledby' : 'describedby')]: open ? floatingId : undefined\n },\n floating: floatingProps\n };\n }\n return {\n reference: {\n 'aria-expanded': open ? 'true' : 'false',\n 'aria-haspopup': ariaRole === 'alertdialog' ? 'dialog' : ariaRole,\n 'aria-controls': open ? floatingId : undefined,\n ...(ariaRole === 'listbox' && {\n role: 'combobox'\n }),\n ...(ariaRole === 'menu' && {\n id: referenceId\n }),\n ...(ariaRole === 'menu' && isNested && {\n role: 'menuitem'\n }),\n ...(role === 'select' && {\n 'aria-autocomplete': 'none'\n }),\n ...(role === 'combobox' && {\n 'aria-autocomplete': 'list'\n })\n },\n floating: {\n ...floatingProps,\n ...(ariaRole === 'menu' && {\n 'aria-labelledby': referenceId\n })\n },\n item(_ref) {\n let {\n active,\n selected\n } = _ref;\n const commonProps = {\n role: 'option',\n ...(active && {\n id: floatingId + \"-option\"\n })\n };\n\n // For `menu`, we are unable to tell if the item is a `menuitemradio`\n // or `menuitemcheckbox`. For backwards-compatibility reasons, also\n // avoid defaulting to `menuitem` as it may overwrite custom role props.\n switch (role) {\n case 'select':\n return {\n ...commonProps,\n 'aria-selected': active && selected\n };\n case 'combobox':\n {\n return {\n ...commonProps,\n ...(active && {\n 'aria-selected': true\n })\n };\n }\n }\n return {};\n }\n };\n }, [enabled, role, ariaRole, open, floatingId, referenceId, isNested]);\n}\n\n// Converts a JS style key like `backgroundColor` to a CSS transition-property\n// like `background-color`.\nconst camelCaseToKebabCase = str => str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());\nfunction execWithArgsOrReturn(valueOrFn, args) {\n return typeof valueOrFn === 'function' ? valueOrFn(args) : valueOrFn;\n}\nfunction useDelayUnmount(open, durationMs) {\n const [isMounted, setIsMounted] = React.useState(open);\n if (open && !isMounted) {\n setIsMounted(true);\n }\n React.useEffect(() => {\n if (!open) {\n const timeout = setTimeout(() => setIsMounted(false), durationMs);\n return () => clearTimeout(timeout);\n }\n }, [open, durationMs]);\n return isMounted;\n}\n/**\n * Provides a status string to apply CSS transitions to a floating element,\n * correctly handling placement-aware transitions.\n * @see https://floating-ui.com/docs/useTransition#usetransitionstatus\n */\nfunction useTransitionStatus(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n elements: {\n floating\n }\n } = context;\n const {\n duration = 250\n } = props;\n const isNumberDuration = typeof duration === 'number';\n const closeDuration = (isNumberDuration ? duration : duration.close) || 0;\n const [initiated, setInitiated] = React.useState(false);\n const [status, setStatus] = React.useState('unmounted');\n const isMounted = useDelayUnmount(open, closeDuration);\n\n // `initiated` check prevents this `setState` call from breaking\n // . This call is necessary to ensure subsequent opens\n // after the initial one allows the correct side animation to play when the\n // placement has changed.\n index(() => {\n if (initiated && !isMounted) {\n setStatus('unmounted');\n }\n }, [initiated, isMounted]);\n index(() => {\n if (!floating) return;\n if (open) {\n setStatus('initial');\n const frame = requestAnimationFrame(() => {\n setStatus('open');\n });\n return () => {\n cancelAnimationFrame(frame);\n };\n }\n setInitiated(true);\n setStatus('close');\n }, [open, floating]);\n return {\n isMounted,\n status\n };\n}\n/**\n * Provides styles to apply CSS transitions to a floating element, correctly\n * handling placement-aware transitions. Wrapper around `useTransitionStatus`.\n * @see https://floating-ui.com/docs/useTransition#usetransitionstyles\n */\nfunction useTransitionStyles(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n initial: unstable_initial = {\n opacity: 0\n },\n open: unstable_open,\n close: unstable_close,\n common: unstable_common,\n duration = 250\n } = props;\n const placement = context.placement;\n const side = placement.split('-')[0];\n const fnArgs = React.useMemo(() => ({\n side,\n placement\n }), [side, placement]);\n const isNumberDuration = typeof duration === 'number';\n const openDuration = (isNumberDuration ? duration : duration.open) || 0;\n const closeDuration = (isNumberDuration ? duration : duration.close) || 0;\n const [styles, setStyles] = React.useState(() => ({\n ...execWithArgsOrReturn(unstable_common, fnArgs),\n ...execWithArgsOrReturn(unstable_initial, fnArgs)\n }));\n const {\n isMounted,\n status\n } = useTransitionStatus(context, {\n duration\n });\n const initialRef = useLatestRef(unstable_initial);\n const openRef = useLatestRef(unstable_open);\n const closeRef = useLatestRef(unstable_close);\n const commonRef = useLatestRef(unstable_common);\n index(() => {\n const initialStyles = execWithArgsOrReturn(initialRef.current, fnArgs);\n const closeStyles = execWithArgsOrReturn(closeRef.current, fnArgs);\n const commonStyles = execWithArgsOrReturn(commonRef.current, fnArgs);\n const openStyles = execWithArgsOrReturn(openRef.current, fnArgs) || Object.keys(initialStyles).reduce((acc, key) => {\n acc[key] = '';\n return acc;\n }, {});\n if (status === 'initial') {\n setStyles(styles => ({\n transitionProperty: styles.transitionProperty,\n ...commonStyles,\n ...initialStyles\n }));\n }\n if (status === 'open') {\n setStyles({\n transitionProperty: Object.keys(openStyles).map(camelCaseToKebabCase).join(','),\n transitionDuration: openDuration + \"ms\",\n ...commonStyles,\n ...openStyles\n });\n }\n if (status === 'close') {\n const styles = closeStyles || initialStyles;\n setStyles({\n transitionProperty: Object.keys(styles).map(camelCaseToKebabCase).join(','),\n transitionDuration: closeDuration + \"ms\",\n ...commonStyles,\n ...styles\n });\n }\n }, [closeDuration, closeRef, initialRef, openRef, commonRef, openDuration, status, fnArgs]);\n return {\n isMounted,\n styles\n };\n}\n\n/**\n * Provides a matching callback that can be used to focus an item as the user\n * types, often used in tandem with `useListNavigation()`.\n * @see https://floating-ui.com/docs/useTypeahead\n */\nfunction useTypeahead(context, props) {\n var _ref;\n const {\n open,\n dataRef\n } = context;\n const {\n listRef,\n activeIndex,\n onMatch: unstable_onMatch,\n onTypingChange: unstable_onTypingChange,\n enabled = true,\n findMatch = null,\n resetMs = 750,\n ignoreKeys = [],\n selectedIndex = null\n } = props;\n const timeoutIdRef = React.useRef();\n const stringRef = React.useRef('');\n const prevIndexRef = React.useRef((_ref = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref : -1);\n const matchIndexRef = React.useRef(null);\n const onMatch = useEffectEvent(unstable_onMatch);\n const onTypingChange = useEffectEvent(unstable_onTypingChange);\n const findMatchRef = useLatestRef(findMatch);\n const ignoreKeysRef = useLatestRef(ignoreKeys);\n index(() => {\n if (open) {\n clearTimeout(timeoutIdRef.current);\n matchIndexRef.current = null;\n stringRef.current = '';\n }\n }, [open]);\n index(() => {\n // Sync arrow key navigation but not typeahead navigation.\n if (open && stringRef.current === '') {\n var _ref2;\n prevIndexRef.current = (_ref2 = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref2 : -1;\n }\n }, [open, selectedIndex, activeIndex]);\n return React.useMemo(() => {\n if (!enabled) {\n return {};\n }\n function setTypingChange(value) {\n if (value) {\n if (!dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n } else {\n if (dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n }\n }\n function getMatchingIndex(list, orderedList, string) {\n const str = findMatchRef.current ? findMatchRef.current(orderedList, string) : orderedList.find(text => (text == null ? void 0 : text.toLocaleLowerCase().indexOf(string.toLocaleLowerCase())) === 0);\n return str ? list.indexOf(str) : -1;\n }\n function onKeyDown(event) {\n const listContent = listRef.current;\n if (stringRef.current.length > 0 && stringRef.current[0] !== ' ') {\n if (getMatchingIndex(listContent, listContent, stringRef.current) === -1) {\n setTypingChange(false);\n } else if (event.key === ' ') {\n stopEvent(event);\n }\n }\n if (listContent == null || ignoreKeysRef.current.includes(event.key) ||\n // Character key.\n event.key.length !== 1 ||\n // Modifier key.\n event.ctrlKey || event.metaKey || event.altKey) {\n return;\n }\n if (open && event.key !== ' ') {\n stopEvent(event);\n setTypingChange(true);\n }\n\n // Bail out if the list contains a word like \"llama\" or \"aaron\". TODO:\n // allow it in this case, too.\n const allowRapidSuccessionOfFirstLetter = listContent.every(text => {\n var _text$, _text$2;\n return text ? ((_text$ = text[0]) == null ? void 0 : _text$.toLocaleLowerCase()) !== ((_text$2 = text[1]) == null ? void 0 : _text$2.toLocaleLowerCase()) : true;\n });\n\n // Allows the user to cycle through items that start with the same letter\n // in rapid succession.\n if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n }\n stringRef.current += event.key;\n clearTimeout(timeoutIdRef.current);\n timeoutIdRef.current = setTimeout(() => {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n setTypingChange(false);\n }, resetMs);\n const prevIndex = prevIndexRef.current;\n const index = getMatchingIndex(listContent, [...listContent.slice((prevIndex || 0) + 1), ...listContent.slice(0, (prevIndex || 0) + 1)], stringRef.current);\n if (index !== -1) {\n onMatch(index);\n matchIndexRef.current = index;\n } else if (event.key !== ' ') {\n stringRef.current = '';\n setTypingChange(false);\n }\n }\n return {\n reference: {\n onKeyDown\n },\n floating: {\n onKeyDown,\n onKeyUp(event) {\n if (event.key === ' ') {\n setTypingChange(false);\n }\n }\n }\n };\n }, [enabled, open, dataRef, listRef, resetMs, ignoreKeysRef, findMatchRef, onMatch, onTypingChange]);\n}\n\nfunction getArgsWithCustomFloatingHeight(state, height) {\n return {\n ...state,\n rects: {\n ...state.rects,\n floating: {\n ...state.rects.floating,\n height\n }\n }\n };\n}\n/**\n * Positions the floating element such that an inner element inside\n * of it is anchored to the reference element.\n * @see https://floating-ui.com/docs/inner\n */\nconst inner = props => ({\n name: 'inner',\n options: props,\n async fn(state) {\n const {\n listRef,\n overflowRef,\n onFallbackChange,\n offset: innerOffset = 0,\n index = 0,\n minItemsVisible = 4,\n referenceOverflowThreshold = 0,\n scrollRef,\n ...detectOverflowOptions\n } = props;\n const {\n rects,\n elements: {\n floating\n }\n } = state;\n const item = listRef.current[index];\n if (process.env.NODE_ENV !== \"production\") {\n if (!state.placement.startsWith('bottom')) {\n console.warn(['Floating UI: `placement` side must be \"bottom\" when using the', '`inner` middleware.'].join(' '));\n }\n }\n if (!item) {\n return {};\n }\n const nextArgs = {\n ...state,\n ...(await offset(-item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state))\n };\n const el = (scrollRef == null ? void 0 : scrollRef.current) || floating;\n const overflow = await detectOverflow(getArgsWithCustomFloatingHeight(nextArgs, el.scrollHeight), detectOverflowOptions);\n const refOverflow = await detectOverflow(nextArgs, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const diffY = Math.max(0, overflow.top);\n const nextY = nextArgs.y + diffY;\n const maxHeight = Math.max(0, el.scrollHeight - diffY - Math.max(0, overflow.bottom));\n el.style.maxHeight = maxHeight + \"px\";\n el.scrollTop = diffY;\n\n // There is not enough space, fallback to standard anchored positioning\n if (onFallbackChange) {\n if (el.offsetHeight < item.offsetHeight * Math.min(minItemsVisible, listRef.current.length - 1) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold) {\n flushSync(() => onFallbackChange(true));\n } else {\n flushSync(() => onFallbackChange(false));\n }\n }\n if (overflowRef) {\n overflowRef.current = await detectOverflow(getArgsWithCustomFloatingHeight({\n ...nextArgs,\n y: nextY\n }, el.offsetHeight), detectOverflowOptions);\n }\n return {\n y: nextY\n };\n }\n});\n/**\n * Changes the `inner` middleware's `offset` upon a `wheel` event to\n * expand the floating element's height, revealing more list items.\n * @see https://floating-ui.com/docs/inner\n */\nfunction useInnerOffset(context, props) {\n const {\n open,\n elements\n } = context;\n const {\n enabled = true,\n overflowRef,\n scrollRef,\n onChange: unstable_onChange\n } = props;\n const onChange = useEffectEvent(unstable_onChange);\n const controlledScrollingRef = React.useRef(false);\n const prevScrollTopRef = React.useRef(null);\n const initialOverflowRef = React.useRef(null);\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n function onWheel(e) {\n if (e.ctrlKey || !el || overflowRef.current == null) {\n return;\n }\n const dY = e.deltaY;\n const isAtTop = overflowRef.current.top >= -0.5;\n const isAtBottom = overflowRef.current.bottom >= -0.5;\n const remainingScroll = el.scrollHeight - el.clientHeight;\n const sign = dY < 0 ? -1 : 1;\n const method = dY < 0 ? 'max' : 'min';\n if (el.scrollHeight <= el.clientHeight) {\n return;\n }\n if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {\n e.preventDefault();\n flushSync(() => {\n onChange(d => d + Math[method](dY, remainingScroll * sign));\n });\n } else if (/firefox/i.test(getUserAgent())) {\n // Needed to propagate scrolling during momentum scrolling phase once\n // it gets limited by the boundary. UX improvement, not critical.\n el.scrollTop += dY;\n }\n }\n const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;\n if (open && el) {\n el.addEventListener('wheel', onWheel);\n\n // Wait for the position to be ready.\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n if (overflowRef.current != null) {\n initialOverflowRef.current = {\n ...overflowRef.current\n };\n }\n });\n return () => {\n prevScrollTopRef.current = null;\n initialOverflowRef.current = null;\n el.removeEventListener('wheel', onWheel);\n };\n }\n }, [enabled, open, elements.floating, overflowRef, scrollRef, onChange]);\n return React.useMemo(() => {\n if (!enabled) {\n return {};\n }\n return {\n floating: {\n onKeyDown() {\n controlledScrollingRef.current = true;\n },\n onWheel() {\n controlledScrollingRef.current = false;\n },\n onPointerMove() {\n controlledScrollingRef.current = false;\n },\n onScroll() {\n const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;\n if (!overflowRef.current || !el || !controlledScrollingRef.current) {\n return;\n }\n if (prevScrollTopRef.current !== null) {\n const scrollDiff = el.scrollTop - prevScrollTopRef.current;\n if (overflowRef.current.bottom < -0.5 && scrollDiff < -1 || overflowRef.current.top < -0.5 && scrollDiff > 1) {\n flushSync(() => onChange(d => d + scrollDiff));\n }\n }\n\n // [Firefox] Wait for the height change to have been applied.\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n });\n }\n }\n };\n }, [enabled, overflowRef, elements.floating, scrollRef, onChange]);\n}\n\nfunction isPointInPolygon(point, polygon) {\n const [x, y] = point;\n let isInside = false;\n const length = polygon.length;\n for (let i = 0, j = length - 1; i < length; j = i++) {\n const [xi, yi] = polygon[i] || [0, 0];\n const [xj, yj] = polygon[j] || [0, 0];\n const intersect = yi >= y !== yj >= y && x <= (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) {\n isInside = !isInside;\n }\n }\n return isInside;\n}\nfunction isInside(point, rect) {\n return point[0] >= rect.x && point[0] <= rect.x + rect.width && point[1] >= rect.y && point[1] <= rect.y + rect.height;\n}\n/**\n * Generates a safe polygon area that the user can traverse without closing the\n * floating element once leaving the reference element.\n * @see https://floating-ui.com/docs/useHover#safepolygon\n */\nfunction safePolygon(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n buffer = 0.5,\n blockPointerEvents = false,\n requireIntent = true\n } = options;\n let timeoutId;\n let hasLanded = false;\n let lastX = null;\n let lastY = null;\n let lastCursorTime = performance.now();\n function getCursorSpeed(x, y) {\n const currentTime = performance.now();\n const elapsedTime = currentTime - lastCursorTime;\n if (lastX === null || lastY === null || elapsedTime === 0) {\n lastX = x;\n lastY = y;\n lastCursorTime = currentTime;\n return null;\n }\n const deltaX = x - lastX;\n const deltaY = y - lastY;\n const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);\n const speed = distance / elapsedTime; // px / ms\n\n lastX = x;\n lastY = y;\n lastCursorTime = currentTime;\n return speed;\n }\n const fn = _ref => {\n let {\n x,\n y,\n placement,\n elements,\n onClose,\n nodeId,\n tree\n } = _ref;\n return function onMouseMove(event) {\n function close() {\n clearTimeout(timeoutId);\n onClose();\n }\n clearTimeout(timeoutId);\n if (!elements.domReference || !elements.floating || placement == null || x == null || y == null) {\n return;\n }\n const {\n clientX,\n clientY\n } = event;\n const clientPoint = [clientX, clientY];\n const target = getTarget(event);\n const isLeave = event.type === 'mouseleave';\n const isOverFloatingEl = contains(elements.floating, target);\n const isOverReferenceEl = contains(elements.domReference, target);\n const refRect = elements.domReference.getBoundingClientRect();\n const rect = elements.floating.getBoundingClientRect();\n const side = placement.split('-')[0];\n const cursorLeaveFromRight = x > rect.right - rect.width / 2;\n const cursorLeaveFromBottom = y > rect.bottom - rect.height / 2;\n const isOverReferenceRect = isInside(clientPoint, refRect);\n const isFloatingWider = rect.width > refRect.width;\n const isFloatingTaller = rect.height > refRect.height;\n const left = (isFloatingWider ? refRect : rect).left;\n const right = (isFloatingWider ? refRect : rect).right;\n const top = (isFloatingTaller ? refRect : rect).top;\n const bottom = (isFloatingTaller ? refRect : rect).bottom;\n if (isOverFloatingEl) {\n hasLanded = true;\n if (!isLeave) {\n return;\n }\n }\n if (isOverReferenceEl) {\n hasLanded = false;\n }\n if (isOverReferenceEl && !isLeave) {\n hasLanded = true;\n return;\n }\n\n // Prevent overlapping floating element from being stuck in an open-close\n // loop: https://github.com/floating-ui/floating-ui/issues/1910\n if (isLeave && isElement(event.relatedTarget) && contains(elements.floating, event.relatedTarget)) {\n return;\n }\n\n // If any nested child is open, abort.\n if (tree && getChildren(tree.nodesRef.current, nodeId).some(_ref2 => {\n let {\n context\n } = _ref2;\n return context == null ? void 0 : context.open;\n })) {\n return;\n }\n\n // If the pointer is leaving from the opposite side, the \"buffer\" logic\n // creates a point where the floating element remains open, but should be\n // ignored.\n // A constant of 1 handles floating point rounding errors.\n if (side === 'top' && y >= refRect.bottom - 1 || side === 'bottom' && y <= refRect.top + 1 || side === 'left' && x >= refRect.right - 1 || side === 'right' && x <= refRect.left + 1) {\n return close();\n }\n\n // Ignore when the cursor is within the rectangular trough between the\n // two elements. Since the triangle is created from the cursor point,\n // which can start beyond the ref element's edge, traversing back and\n // forth from the ref to the floating element can cause it to close. This\n // ensures it always remains open in that case.\n let rectPoly = [];\n switch (side) {\n case 'top':\n rectPoly = [[left, refRect.top + 1], [left, rect.bottom - 1], [right, rect.bottom - 1], [right, refRect.top + 1]];\n break;\n case 'bottom':\n rectPoly = [[left, rect.top + 1], [left, refRect.bottom - 1], [right, refRect.bottom - 1], [right, rect.top + 1]];\n break;\n case 'left':\n rectPoly = [[rect.right - 1, bottom], [rect.right - 1, top], [refRect.left + 1, top], [refRect.left + 1, bottom]];\n break;\n case 'right':\n rectPoly = [[refRect.right - 1, bottom], [refRect.right - 1, top], [rect.left + 1, top], [rect.left + 1, bottom]];\n break;\n }\n function getPolygon(_ref3) {\n let [x, y] = _ref3;\n switch (side) {\n case 'top':\n {\n const cursorPointOne = [isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1];\n const cursorPointTwo = [isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1];\n const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.bottom - buffer : isFloatingWider ? rect.bottom - buffer : rect.top], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.bottom - buffer : rect.top : rect.bottom - buffer]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n case 'bottom':\n {\n const cursorPointOne = [isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer];\n const cursorPointTwo = [isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer];\n const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.top + buffer : isFloatingWider ? rect.top + buffer : rect.bottom], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.top + buffer : rect.bottom : rect.top + buffer]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n case 'left':\n {\n const cursorPointOne = [x + buffer + 1, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const cursorPointTwo = [x + buffer + 1, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const commonPoints = [[cursorLeaveFromBottom ? rect.right - buffer : isFloatingTaller ? rect.right - buffer : rect.left, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.right - buffer : rect.left : rect.right - buffer, rect.bottom]];\n return [...commonPoints, cursorPointOne, cursorPointTwo];\n }\n case 'right':\n {\n const cursorPointOne = [x - buffer, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const cursorPointTwo = [x - buffer, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const commonPoints = [[cursorLeaveFromBottom ? rect.left + buffer : isFloatingTaller ? rect.left + buffer : rect.right, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.left + buffer : rect.right : rect.left + buffer, rect.bottom]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n }\n }\n if (isPointInPolygon([clientX, clientY], rectPoly)) {\n return;\n }\n if (hasLanded && !isOverReferenceRect) {\n return close();\n }\n if (!isLeave && requireIntent) {\n const cursorSpeed = getCursorSpeed(event.clientX, event.clientY);\n const cursorSpeedThreshold = 0.1;\n if (cursorSpeed !== null && cursorSpeed < cursorSpeedThreshold) {\n return close();\n }\n }\n if (!isPointInPolygon([clientX, clientY], getPolygon([x, y]))) {\n close();\n } else if (!hasLanded && requireIntent) {\n timeoutId = window.setTimeout(close, 40);\n }\n };\n };\n fn.__options = {\n blockPointerEvents\n };\n return fn;\n}\n\nexport { Composite, CompositeItem, FloatingArrow, FloatingDelayGroup, FloatingFocusManager, FloatingList, FloatingNode, FloatingOverlay, FloatingPortal, FloatingTree, inner, safePolygon, useClick, useClientPoint, useDelayGroup, useDelayGroupContext, useDismiss, useFloating, useFloatingNodeId, useFloatingParentNodeId, useFloatingPortalNode, useFloatingTree, useFocus, useHover, useId, useInnerOffset, useInteractions, useListItem, useListNavigation, useMergeRefs, useRole, useTransitionStatus, useTransitionStyles, useTypeahead };\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nexport * from \"./types.js\";\nexport * from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided to Popper, they must be either a valid DOM element, virtual element, or a jQuery-wrapped DOM element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, {}, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(options) {\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, {}, state.options, {}, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers([].concat(state.options.modifiers.filter(function (modifier) {\n return !defaultModifiers.find(function (_ref) {\n var name = _ref.name;\n return name === modifier.name;\n });\n }), defaultModifiers.map(function (defaultModifier) {\n return Object.assign({}, defaultModifier, {}, state.options.modifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === defaultModifier.name;\n }));\n }))); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref3) {\n var name = _ref3.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = orderedModifiers.find(function (_ref4) {\n var name = _ref4.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n } // Strip out disabled modifiers\n\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref5) {\n var name = _ref5.name,\n _ref5$options = _ref5.options,\n options = _ref5$options === void 0 ? {} : _ref5$options,\n effect = _ref5.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper =\n/*#__PURE__*/\npopperGenerator();","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });\n } else obj[key] = value;\n\n return obj;\n}\nexport { _define_property as _ };\n","import { _ as _define_property } from \"./_define_property.js\";\n\nfunction _object_spread(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(\n Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n })\n );\n }\n\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n\n return target;\n}\nexport { _object_spread as _ };\n","import { _ as _object_without_properties_loose } from \"./_object_without_properties_loose.js\";\n\nfunction _object_without_properties(source, excluded) {\n if (source == null) return {};\n\n var target = _object_without_properties_loose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\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}\nexport { _object_without_properties as _ };\n","function _object_without_properties_loose(source, excluded) {\n if (source == null) return {};\n\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}\nexport { _object_without_properties_loose as _ };\n","function _type_of(obj) {\n \"@swc/helpers - typeof\";\n\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nexport { _type_of as _ };\n","import { _ as _to_primitive } from \"./_to_primitive.js\";\nimport { _ as _type_of } from \"./_type_of.js\";\n\nfunction _to_property_key(arg) {\n var key = _to_primitive(arg, \"string\");\n\n return _type_of(key) === \"symbol\" ? key : String(key);\n}\nexport { _to_property_key as _ };\n","import { _ as _type_of } from \"./_type_of.js\";\n\nfunction _to_primitive(input, hint) {\n if (_type_of(input) !== \"object\" || input === null) return input;\n\n var prim = input[Symbol.toPrimitive];\n\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_type_of(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n\n return (hint === \"string\" ? String : Number)(input);\n}\nexport { _to_primitive as _ };\n","import jsBeautify from 'js-beautify';\n\nexport const getRootElement = selector => {\n if (document.querySelector(selector)) {\n return document.querySelector(selector);\n }\n const rootEl = document.createElement('div');\n if (selector.startsWith('#')) {\n rootEl.id = selector;\n }\n if (selector.startsWith('.')) {\n rootEl.classList.add(selector);\n }\n document.body.appendChild(rootEl);\n return rootEl;\n};\n\nexport const isMobile = () => window.innerWidth <= 1024;\n\nexport const beautifedMarkup = code => {\n return jsBeautify.html_beautify(code, { indent_size: 2, wrap_line_length: 100, inline: ['*'] });\n};\n\nexport const removeObjectKey = (obj, keyToRemove) => {\n const { [keyToRemove]: _, ...newObj } = obj;\n return newObj;\n};\n\nexport const createEmbed = ({\n agentId, greeting, greetingMessage, pulse, position\n}) => {\n return `\n `;\n};\n\nexport const resetAgentPreviewRoot = () => {\n const template = '\"Chatbot';\n const rootEl = document.querySelector('#agent-preview-root');\n if (rootEl) {\n rootEl.innerHTML = template;\n }\n};\n","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n\n if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\nexport { _object_spread_props as _ };\n","export class ActionManager {\n constructor({\n user,\n projectName,\n trackOnce,\n enableDebugMode\n }) {\n this.user = user || {};\n this.projectName = projectName;\n this.trackOnce = trackOnce || false;\n this.JotFormActions = null;\n this.registerJotformAction = this.registerJotformAction.bind(this);\n this.sentEvents = {};\n this.enableDebugMode = enableDebugMode || false;\n }\n\n setupJotFormActions() {\n const { JotFormActions } = global;\n if (typeof JotFormActions !== 'function') return;\n this.JotFormActions = JotFormActions(this.projectName);\n }\n\n tick({\n actor = '', action = '', target = '', trackOnce = false\n } = {}) {\n this.JotFormActions?.tick({ actor, action, target });\n\n if (this.trackOnce || trackOnce) {\n this.sentEvents[`${action}${target}`] = true;\n }\n }\n\n logDebugAction({\n actor, action, target, trackOnce\n }) {\n console.log({\n actor, action, target, trackOnce\n });\n const hasMissingParameter = [action, target].some(param => !param);\n if (hasMissingParameter) {\n console.error(`[missing-actor]: Couldn't tick action. 'actor', 'action', 'target' parameters are needed. project: ${this.projectName} actor: ${actor} action: ${action} target: ${target}`);\n }\n\n if (this.trackOnce || trackOnce) {\n this.sentEvents[`${action}${target}`] = true;\n }\n }\n\n registerJotformAction({ action, target, trackOnce = false }) {\n if (!this.JotFormActions) {\n this.setupJotFormActions();\n }\n\n if ((this.trackOnce || trackOnce) && this.sentEvents[`${action}${target}`]) {\n return;\n }\n\n const { username: actor = null, account_type: accountType } = this.user;\n const isEnterprise = global.JOTFORM_ENV === 'ENTERPRISE';\n const isEnvProd = global.JOTFORM_ENV === 'PRODUCTION' && !isEnterprise;\n const isJotFormer = ['ADMIN', 'SUPPORT', 'INTERN'].indexOf(accountType?.name) > -1 && !isEnterprise;\n if (this.enableDebugMode && actor) {\n this.logDebugAction({\n actor, action, target, trackOnce\n });\n return;\n }\n\n if (!actor) {\n const message = global.JOTFORM_ENV === 'DEVELOPMENT' ? console.error : console.warn;\n // eslint-disable-next-line max-len\n message(`[missing-actor]: Couldn't tick action. 'ActionManager' constructor needs 'user' parameter with 'username' field. Please check 'user' parameter. project: ${this.projectName} actor: ${actor} action: ${action} target: ${target}`);\n }\n\n if (!this.JotFormActions || !actor || !isEnvProd || isJotFormer) return;\n\n this.tick({\n actor, action, target, trackOnce\n });\n }\n}\n","export * from './themes';\nexport * from './texts';\n\nexport const STEPS = {\n INITIAL: 'INITIAL',\n USECASE_SELECTION: 'USECASE_SELECTION',\n CUSTOMIZATION: 'CUSTOMIZATION',\n STYLE: 'STYLE',\n SHARE: 'SHARE',\n KNOWDLEDGE: 'KNOWDLEDGE'\n};\n\nexport const USE_CASES = [\n { templateId: '0192fce444977bbe9678bb4dca721a5fad06', templateAgentId: '0192FCE3FB657D9DA679016CD685B22DAFF6', label: 'Customer Support AI Agent' },\n { templateId: '0192fc8a468b7c399286fa7055574c6ba04b', templateAgentId: '0192FC89E8427B4BBE10928C4577D5B0889F', label: 'Lead Generation AI Agent' },\n { templateId: '0192fcce8d1b7ea7b13079026bd5cd316868', templateAgentId: '0192FCCE10957E4DB9C895E813ADD6C78CD3', label: 'Appointment Scheduling AI Agent' },\n { templateId: '0192fc77e2307fa9be2aec42d8cc4c45089f', templateAgentId: '0192FC778268753B9B183A11173C683AB8E2', label: 'Online Event Registration AI Agent' },\n { templateId: '0192fc008a0b738d9797e4cfebd3fbdd7724', templateAgentId: '0192FC0043497C49A854562BD0946BC27C64', label: 'Feedback AI Agent' },\n { templateId: '0193010e5626721ca89a74c793ebdab333f9', templateAgentId: '0193010DCC857EFDB8B2551F3CFB86190829', label: 'Product Recommendation AI Agent' }\n];\n\nexport const VERBAL_TOGGLE = {\n YES: 'Yes',\n NO: 'No'\n};\n\nexport const GREETING_MESSAGE = 'Hi! How can I assist you?';\n\nexport const POSITION = {\n RIGHT: 'right',\n LEFT: 'left'\n};\n\nexport const CUSTOMIZATION_KEYS = {\n GREETING: 'greeting',\n GREETING_MESSAGE: 'greetingMessage',\n PULSE: 'pulse',\n POSITION: 'position'\n};\n\nexport const THEME_CUSTOMIZATION_KEYS = {\n AGENT_BG_START_COLOR: 'agentBackgroundStart',\n AGENT_BG_END_COLOR: 'agentBackgroundEnd',\n CHAT_BG_COLOR: 'chatBackground',\n FONT_FAMILY: 'fontFamily',\n FONT_COLOR: 'inputTextColor',\n BUTTON_BG_COLOR: 'sendButtonBackground',\n BUTTON_ICON_BG_COLOR: 'sendButtonIconColor'\n};\n\nexport const FONTS = [\n { value: 'inter, sans-serif', label: 'Inter' },\n { value: 'Circular', label: 'Circular' },\n { value: '\"Times New Roman\"', label: 'Times New Roman' }\n];\n","export const generatePromiseActionType = baseName => ({\n REQUEST: `${baseName}/REQUEST`,\n SUCCESS: `${baseName}/SUCCESS`,\n ERROR: `${baseName}/ERROR`\n});\n\nexport const NEXT_STEP = 'NEXT_STEP';\nexport const PREVIOUS_STEP = 'PREVIOUS_STEP';\n\nexport const ASYNC = generatePromiseActionType('ASYNC');\n\nexport const SELECT_AGENT = 'SELECT_AGENT';\nexport const USE_AGENT = generatePromiseActionType('USE_AGENT');\n\nexport const UPDATE_CUSTOMIZATION = 'UPDATE_CUSTOMIZATION';\nexport const UPDATE_CUSTOMIZATION_ASYNC = generatePromiseActionType('UPDATE_CUSTOMIZATION_ASYNC');\n\nexport const UPDATE_THEME = generatePromiseActionType('UPDATE_THEME');\nexport const UPDATE_THEME_PROPERTY = generatePromiseActionType('UPDATE_THEME_PROPERTY');\nexport const UPDATE_USER_SETTINGS = generatePromiseActionType('UPDATE_USER_SETTINGS');\n\nexport const ADD_MATERIAL = generatePromiseActionType('ADD_MATERIAL');\nexport const UPDATE_MATERIAL = generatePromiseActionType('UPDATE_MATERIAL');\nexport const DELETE_MATERIAL = generatePromiseActionType('DELETE_MATERIAL');\nexport const BULK_DELETE_MATERIAL = generatePromiseActionType('BULK_DELETE_MATERIAL');\n\nexport const TERMS_ACCEPTED = 'TERMS_ACCEPTED';\n","/* eslint-disable complexity */\nimport {\n CUSTOMIZATION_KEYS, GREETING_MESSAGE, POSITION, STEPS, THEME_CUSTOMIZATION_KEYS,\n VERBAL_TOGGLE\n} from '../constants';\nimport { removeObjectKey } from '../utils';\nimport {\n UPDATE_THEME, UPDATE_THEME_PROPERTY, NEXT_STEP, PREVIOUS_STEP, TERMS_ACCEPTED, UPDATE_CUSTOMIZATION, USE_AGENT, ADD_MATERIAL,\n UPDATE_MATERIAL,\n DELETE_MATERIAL,\n BULK_DELETE_MATERIAL,\n SELECT_AGENT\n} from './actions';\n\nexport const initialState = {\n user: null,\n termsChecked: false,\n step: STEPS.INITIAL,\n selectedTemplateAgentId: null,\n previewAgentId: null,\n themeName: null,\n materials: [],\n errorMessage: '',\n isUseAgentLoading: false,\n customizations: {\n [CUSTOMIZATION_KEYS.GREETING]: VERBAL_TOGGLE.YES,\n [CUSTOMIZATION_KEYS.GREETING_MESSAGE]: GREETING_MESSAGE,\n [CUSTOMIZATION_KEYS.PULSE]: VERBAL_TOGGLE.YES,\n [CUSTOMIZATION_KEYS.POSITION]: POSITION.RIGHT\n },\n themeCustomizations: {\n [THEME_CUSTOMIZATION_KEYS.AGENT_BG_START_COLOR]: '',\n [THEME_CUSTOMIZATION_KEYS.AGENT_BG_END_COLOR]: '',\n [THEME_CUSTOMIZATION_KEYS.CHAT_BG_COLOR]: '',\n [THEME_CUSTOMIZATION_KEYS.FONT_FAMILY]: '',\n [THEME_CUSTOMIZATION_KEYS.FONT_COLOR]: '',\n [THEME_CUSTOMIZATION_KEYS.BUTTON_BG_COLOR]: ''\n }\n};\n\nexport const wizardReducer = (state, action) => {\n switch (action.type) {\n case NEXT_STEP:\n if (state.step === STEPS.INITIAL) return { ...state, step: STEPS.USECASE_SELECTION };\n if (state.step === STEPS.USECASE_SELECTION) return { ...state, step: STEPS.CUSTOMIZATION };\n if (state.step === STEPS.CUSTOMIZATION) return { ...state, step: STEPS.STYLE };\n if (state.step === STEPS.STYLE) return { ...state, step: STEPS.KNOWDLEDGE };\n if (state.step === STEPS.KNOWDLEDGE) return { ...state, step: STEPS.SHARE };\n return state;\n case PREVIOUS_STEP:\n if (state.step === STEPS.SHARE) return { ...state, step: STEPS.KNOWDLEDGE };\n if (state.step === STEPS.KNOWDLEDGE) return { ...state, step: STEPS.STYLE };\n if (state.step === STEPS.STYLE) return { ...state, step: STEPS.CUSTOMIZATION };\n if (state.step === STEPS.CUSTOMIZATION) return { ...state, step: STEPS.USECASE_SELECTION };\n if (state.step === STEPS.USECASE_SELECTION) return { ...state, step: STEPS.INITIAL, selectedTemplateAgentId: null };\n return state;\n case SELECT_AGENT:\n return { ...state, selectedTemplateAgentId: action.payload.selectedTemplateAgentId };\n case USE_AGENT.REQUEST:\n return { ...state, isUseAgentLoading: true };\n case USE_AGENT.SUCCESS:\n window.__chatbotGeneratorActions.logJotformAction({ action: 'success', target: 'createChatbot' });\n const { result } = action.payload;\n return {\n ...state,\n step: STEPS.CUSTOMIZATION,\n previewAgentId: result.agentID,\n themeCustomizations: removeObjectKey(result.agentProperties, 'popover'),\n materials: result.agentMaterials,\n customizations: result.agentProperties.popover,\n isUseAgentLoading: false\n };\n case USE_AGENT.ERROR:\n window.__chatbotGeneratorActions.logJotformAction({ action: 'error', target: 'createChatbot' });\n return { ...state, errorMessage: action.payload.result.message, isUseAgentLoading: false };\n case UPDATE_CUSTOMIZATION:\n return { ...state, customizations: { ...state.customizations, [action.payload.key]: action.payload.value } };\n case TERMS_ACCEPTED:\n return { ...state, termsChecked: action.payload };\n case UPDATE_THEME.SUCCESS:\n const newCustomizations = action.payload.result.reduce((currentCust, { prop, value }) => {\n if (['activeTheme', 'inputBackground', 'pageBackgroundEnd', 'pageBackgroundStart'].includes(prop)) return currentCust;\n return { ...currentCust, [prop]: value };\n }, {});\n return {\n ...state,\n themeName: action.payload.themeName,\n themeCustomizations: { ...state.themeCustomizations, ...newCustomizations }\n };\n case UPDATE_THEME_PROPERTY.SUCCESS:\n return { ...state, themeCustomizations: { ...state.themeCustomizations, [action.payload.result.prop]: action.payload.result.value } };\n case ADD_MATERIAL.SUCCESS:\n return { ...state, materials: [...state.materials, { ...action.payload.result, status: 'PROCESSED' }] }; // socket connection is required to get the real status\n case UPDATE_MATERIAL.SUCCESS:\n const updatedMaterial = action.payload.result;\n const updatedMaterials = state.materials.map(material => {\n if (material.uuid === updatedMaterial.uuid) return updatedMaterial;\n return material;\n });\n return { ...state, materials: updatedMaterials };\n case DELETE_MATERIAL.SUCCESS:\n if (!action.payload.result) return state;\n const withoutDeletedMaterials = state.materials.filter(material => material.uuid !== action.payload.materialId);\n return { ...state, materials: withoutDeletedMaterials };\n case BULK_DELETE_MATERIAL.SUCCESS:\n if (!action.payload.result) return state;\n const withoutBulkDeletedMaterials = state.materials.filter(material => !action.payload.materialIds.includes(material.uuid));\n return { ...state, materials: withoutBulkDeletedMaterials };\n default:\n return state;\n }\n};\n","import { createContext } from 'react';\n\nexport const WizardContext = createContext();\n","import React, { useMemo, useReducer } from 'react';\nimport { ActionManager } from '@jotforminc/abtest-manager';\nimport { node, shape, string } from 'prop-types';\nimport { ASYNC, initialState, wizardReducer } from '../store';\nimport { WizardContext } from './WizardContext';\n\nwindow.__chatbotGeneratorActions = { logJotformAction: f => f };\n\nexport const WizardProvider = ({ children, user, AIAgentBetaAccepted }) => {\n const [state, dispatch] = useReducer(wizardReducer, { ...initialState, user, AIAgentBetaAccepted });\n\n const _logJotformAction = useMemo(() => new ActionManager({ user, projectName: 'chatbotGenerator' }).registerJotformAction, [user]);\n window.__chatbotGeneratorActions.logJotformAction = _logJotformAction;\n\n const asyncDispatch = async (asyncAction, requestAction, successAction, errorAction, ...additionalParams) => {\n dispatch({ type: ASYNC.REQUEST });\n if (requestAction) dispatch(requestAction());\n try {\n const result = await asyncAction();\n dispatch({ type: ASYNC.REQUEST });\n if (successAction) dispatch(successAction(result, ...additionalParams));\n } catch (error) {\n dispatch({ type: ASYNC.ERROR, payload: error.message });\n if (errorAction) dispatch(errorAction(error));\n }\n };\n\n return (\n \n {children}\n \n );\n};\n\nWizardProvider.propTypes = {\n AIAgentBetaAccepted: string.isRequired,\n user: shape({}).isRequired,\n children: node.isRequired\n};\n","import { clsx } from \"clsx\";\nconst falsyToString = (value)=>typeof value === \"boolean\" ? \"\".concat(value) : value === 0 ? \"0\" : value;\nexport const cx = clsx;\nexport const cva = (base, config)=>{\n return (props)=>{\n var ref;\n if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n const { variants , defaultVariants } = config;\n const getVariantClassNames = Object.keys(variants).map((variant)=>{\n const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n return variants[variant][variantKey];\n });\n const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{\n let [key, value] = param;\n if (value === undefined) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (ref = config.compoundVariants) === null || ref === void 0 ? void 0 : ref.reduce((acc, param1)=>{\n let { class: cvClass , className: cvClassName , ...compoundVariantOptions } = param1;\n return Object.entries(compoundVariantOptions).every((param)=>{\n let [key, value] = param;\n return Array.isArray(value) ? value.includes({\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key]) : ({\n ...defaultVariants,\n ...propsWithoutUndefined\n })[key] === value;\n }) ? [\n ...acc,\n cvClass,\n cvClassName\n ] : acc;\n }, []);\n return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n };\n};\n\n\n//# sourceMappingURL=index.mjs.map","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t & ButtonHelperTypes>\n)\n\ntype ButtonTextCVAType = CVAType\ntype ButtonIconCVAType = CVAType>\ntype ButtonIndicatorCVAType = CVAType>;\n\nconst buttonDefaultClassName = 'magnet-button inline-flex shrink-0 justify-center items-center font-medium duration-300 outline-2 outline-transparent outline-offset-0 focus:outline-opacity-50';\n\n// Classes\nexport const buttonCVA = cva(buttonDefaultClassName, {\n variants: {\n size: {\n small: 'h-8 px-2',\n medium: 'h-10 px-2.5',\n large: 'h-12 px-3'\n },\n rounded: {\n true: 'radius-full',\n false: 'radius'\n },\n fullWidth: {\n true: 'w-full'\n },\n variant: {\n ghost: 'border-0',\n filled: 'border-0',\n outline: 'border'\n },\n showTextOnHover: {\n true: 'group'\n },\n loader: {\n true: 'pointer-events-none'\n },\n disabled: {\n true: 'cursor-not-allowed opacity-40',\n false: 'cursor-pointer'\n },\n colorStyle: {},\n hasChildren: {},\n hasDoubleIcon: {},\n hasLoaderText: {},\n hasOneIcon: {},\n invert: {},\n showTextOnly: {},\n theme: {}\n },\n compoundVariants: [\n /*\n Added `width` class for only outlined icon buttons depending by size because of border width\n */\n {\n variant: 'outline',\n hasChildren: false,\n hasOneIcon: true,\n size: 'small',\n className: 'w-8'\n },\n {\n variant: 'outline',\n hasChildren: false,\n hasOneIcon: true,\n size: 'medium',\n className: 'w-10'\n },\n {\n variant: 'outline',\n hasChildren: false,\n hasOneIcon: true,\n size: 'large',\n className: 'w-12'\n },\n /*\n Added `width` class for only outlined icon buttons depending by size and showTextOnly breakpoints because of border width\n */\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'xs',\n size: 'small',\n className: 'w-8 xs:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'sm',\n size: 'small',\n className: 'w-8 sm:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'md',\n size: 'small',\n className: 'w-8 md:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'lg',\n size: 'small',\n className: 'w-8 lg:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'xl',\n size: 'small',\n className: 'w-8 xl:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'xxl',\n size: 'small',\n className: 'w-8 xxl:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'xs',\n size: 'medium',\n className: 'w-10 xs:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'sm',\n size: 'medium',\n className: 'w-10 sm:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'md',\n size: 'medium',\n className: 'w-10 md:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'lg',\n size: 'medium',\n className: 'w-10 lg:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'xl',\n size: 'medium',\n className: 'w-10 xl:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'xxl',\n size: 'medium',\n className: 'w-10 xxl:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'xs',\n size: 'large',\n className: 'w-12 xs:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'sm',\n size: 'large',\n className: 'w-12 sm:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'md',\n size: 'large',\n className: 'w-12 md:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'lg',\n size: 'large',\n className: 'w-12 lg:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'xl',\n size: 'large',\n className: 'w-12 xl:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'xxl',\n size: 'large',\n className: 'w-12 xxl:w-auto'\n },\n /*\n Added `width` class for only outlined icon buttons depending by size and showTextOnHover because of border width\n */\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnHover: true,\n size: 'small',\n className: 'w-8 hover:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnHover: true,\n size: 'medium',\n className: 'w-10 hover:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnHover: true,\n size: 'large',\n className: 'w-12 hover:w-auto'\n },\n /*\n Added `relative` class to wrapping the loader overlay element\n */\n {\n loader: true,\n hasLoaderText: false,\n className: 'relative'\n },\n /*\n Added `bg-transparent` class for `ghost` and `outline` variants\n because they don't have a background in the static state\n */\n {\n variant: ['ghost', 'outline'],\n className: 'bg-transparent'\n },\n /*\n Added `bg-white` for those with\n `filled` variant\n \"darker\" colorStyle\n */\n {\n variant: 'filled',\n colorStyle: [\n 'primary', 'success', 'error', 'neutral',\n 'analytics', 'pages', 'teams', 'sign', 'pdf', 'apps',\n 'reports', 'forms', 'sign', 'tables', 'inbox', 'approvals'\n ],\n invert: false,\n className: 'color-white'\n },\n {\n variant: 'filled',\n colorStyle: [\n 'primary', 'success', 'error', 'neutral',\n 'analytics', 'pages', 'teams', 'sign', 'pdf', 'apps',\n 'reports', 'forms', 'sign', 'tables', 'inbox', 'approvals'\n ],\n invert: true,\n className: 'bg-white'\n },\n {\n variant: 'filled',\n colorStyle: [\n 'neutral', 'analytics', 'pages', 'teams', 'sign', 'pdf', 'apps',\n 'reports', 'forms', 'sign', 'tables', 'inbox', 'approvals'\n ],\n disabled: false,\n invert: true,\n className: 'hover:bg-gray-25'\n },\n /*\n Added core classes for those with\n `filled` variant\n `primary` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'primary',\n invert: false,\n className: primary.accent.default.bg.base\n },\n {\n variant: 'filled',\n colorStyle: 'primary',\n disabled: false,\n invert: false,\n className: primary.accent.dark.bg.hover\n },\n {\n variant: 'filled',\n colorStyle: 'primary',\n invert: true,\n className: primary.accent.default.color.base\n },\n {\n variant: 'filled',\n colorStyle: 'primary',\n disabled: false,\n invert: false,\n className: primary.accent.dark.bg.hover\n },\n {\n variant: 'filled',\n colorStyle: 'primary',\n disabled: false,\n invert: true,\n className: 'hover:bg-blue-100'\n },\n /*\n Added core classes for those with\n `filled` variant\n `secondary` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'secondary',\n invert: false,\n className: [\n primary.background.light.base,\n primary.text.dark.base\n ]\n },\n {\n variant: 'filled',\n colorStyle: 'secondary',\n invert: true,\n className: ['bg-navy-600', primary.text.light.base]\n },\n {\n variant: 'filled',\n colorStyle: 'secondary',\n disabled: false,\n className: primary.background.medium.hover\n },\n {\n variant: 'filled',\n colorStyle: 'secondary',\n disabled: false,\n invert: true,\n className: 'hover:bg-navy-700'\n },\n /*\n Added core classes for those with\n `filled` variant\n `success` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'success',\n invert: false,\n className: primary.success.default.bg.base\n },\n {\n variant: 'filled',\n colorStyle: 'success',\n invert: true,\n className: 'color-green-600'\n },\n {\n variant: 'filled',\n colorStyle: 'success',\n disabled: false,\n invert: false,\n className: primary.success.dark.bg.hover\n },\n {\n variant: 'filled',\n colorStyle: 'success',\n disabled: false,\n invert: true,\n className: 'hover:bg-green-100'\n },\n /*\n Added core classes for those with\n `filled` variant\n `error` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'error',\n invert: false,\n className: primary.error.default.bg.base\n },\n {\n variant: 'filled',\n colorStyle: 'error',\n invert: true,\n className: primary.error.default.color.base\n },\n {\n variant: 'filled',\n colorStyle: 'error',\n disabled: false,\n invert: false,\n className: primary.error.dark.bg.hover\n },\n {\n variant: 'filled',\n colorStyle: 'error',\n disabled: false,\n invert: true,\n className: primary.error.lightest.bg.hover\n },\n /*\n Added core classes for those with\n `filled` variant\n `neutral` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'neutral',\n invert: false,\n className: secondary.background.medium.base\n },\n {\n variant: 'filled',\n colorStyle: 'neutral',\n invert: true,\n className: 'color-gray-600'\n },\n {\n variant: 'filled',\n colorStyle: 'neutral',\n disabled: false,\n invert: false,\n className: secondary.background.dark.hover\n },\n /*\n Added core classes for those with\n `filled` variant\n `analytics` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'analytics',\n invert: false,\n className: 'bg-analytics-default'\n },\n {\n variant: 'filled',\n colorStyle: 'analytics',\n invert: true,\n className: 'color-analytics-default'\n },\n {\n variant: 'filled',\n colorStyle: 'analytics',\n disabled: false,\n invert: false,\n className: 'hover:bg-analytics-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `pages` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'pages',\n invert: false,\n className: 'bg-pages-default'\n },\n {\n variant: 'filled',\n colorStyle: 'pages',\n invert: true,\n className: 'color-pages-default'\n },\n {\n variant: 'filled',\n colorStyle: 'pages',\n disabled: false,\n invert: false,\n className: 'hover:bg-pages-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `teams` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'teams',\n invert: false,\n className: 'bg-teams-default'\n },\n {\n variant: 'filled',\n colorStyle: 'teams',\n invert: true,\n className: 'color-teams-default'\n },\n {\n variant: 'filled',\n colorStyle: 'teams',\n disabled: false,\n invert: false,\n className: 'hover:bg-teams-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `sign` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'sign',\n invert: false,\n className: 'bg-sign-default'\n },\n {\n variant: 'filled',\n colorStyle: 'sign',\n invert: true,\n className: 'color-sign-default'\n },\n {\n variant: 'filled',\n colorStyle: 'sign',\n disabled: false,\n invert: false,\n className: 'hover:bg-sign-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `pdf` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'pdf',\n invert: false,\n className: 'bg-pdf-default'\n },\n {\n variant: 'filled',\n colorStyle: 'pdf',\n invert: true,\n className: 'color-pdf-default'\n },\n {\n variant: 'filled',\n colorStyle: 'pdf',\n disabled: false,\n invert: false,\n className: 'hover:bg-pdf-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `apps` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'apps',\n invert: false,\n className: 'bg-apps-default'\n },\n {\n variant: 'filled',\n colorStyle: 'apps',\n invert: true,\n className: 'color-apps-default'\n },\n {\n variant: 'filled',\n colorStyle: 'apps',\n disabled: false,\n invert: false,\n className: 'bg-apps-default hover:bg-apps-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `reports` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'reports',\n invert: false,\n className: 'bg-reports-default'\n },\n {\n variant: 'filled',\n colorStyle: 'reports',\n invert: true,\n className: 'color-reports-default'\n },\n {\n variant: 'filled',\n colorStyle: 'reports',\n disabled: false,\n invert: false,\n className: 'hover:bg-reports-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `forms` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'forms',\n invert: false,\n className: 'bg-forms-default'\n },\n {\n variant: 'filled',\n colorStyle: 'forms',\n invert: true,\n className: 'color-forms-default'\n },\n {\n variant: 'filled',\n colorStyle: 'forms',\n disabled: false,\n invert: false,\n className: 'hover:bg-forms-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `tables` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'tables',\n invert: false,\n className: 'bg-tables-default'\n },\n {\n variant: 'filled',\n colorStyle: 'tables',\n invert: true,\n className: 'color-tables-default'\n },\n {\n variant: 'filled',\n colorStyle: 'tables',\n disabled: false,\n invert: false,\n className: 'hover:bg-tables-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `approvals` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'approvals',\n invert: false,\n className: 'bg-approvals-default'\n },\n {\n variant: 'filled',\n colorStyle: 'approvals',\n invert: true,\n className: 'color-approvals-default'\n },\n {\n variant: 'filled',\n colorStyle: 'approvals',\n disabled: false,\n invert: false,\n className: 'hover:bg-approvals-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `inbox` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'inbox',\n invert: false,\n className: 'bg-inbox-default'\n },\n {\n variant: 'filled',\n colorStyle: 'inbox',\n invert: true,\n className: 'color-inbox-default'\n },\n {\n variant: 'filled',\n colorStyle: 'inbox',\n disabled: false,\n invert: false,\n className: 'hover:bg-inbox-dark'\n },\n /*\n Added border-color class for those with\n `outline` variant\n `primary` colorStyle\n */\n {\n variant: 'outline',\n colorStyle: 'primary',\n theme: 'light',\n className: primary.accent.default.border.base\n },\n {\n variant: 'outline',\n colorStyle: 'primary',\n theme: 'dark',\n className: 'border-blue-300'\n },\n /*\n Added border-color class for those with\n `outline` variant\n `secondary` colorStyle\n */\n {\n variant: 'outline',\n colorStyle: 'secondary',\n theme: 'light',\n className: primary.border.medium.base\n },\n {\n variant: 'outline',\n colorStyle: 'secondary',\n theme: 'dark',\n className: 'border-gray-300'\n },\n /*\n Added border-color class for those with\n `outline` variant\n `neutral` colorStyle\n */\n {\n variant: 'outline',\n colorStyle: 'neutral',\n theme: 'light',\n className: 'border-gray-600'\n },\n {\n variant: 'outline',\n colorStyle: 'neutral',\n theme: 'dark',\n className: 'border-white'\n },\n /*\n Added border-color class for those with\n `outline` variant\n `success` colorStyle\n */\n {\n variant: 'outline',\n colorStyle: 'success',\n theme: 'light',\n className: primary.success.default.border.base\n },\n {\n variant: 'outline',\n colorStyle: 'success',\n theme: 'dark',\n className: 'border-green-300'\n },\n /*\n Added border-color class for those with\n `outline` variant\n `error` colorStyle\n */\n {\n variant: 'outline',\n colorStyle: 'error',\n theme: 'light',\n className: primary.error.default.border.base\n },\n {\n variant: 'outline',\n colorStyle: 'error',\n theme: 'dark',\n className: 'border-red-300'\n },\n /*\n Added color and background-hover classes for those with\n `ghost` or `outline` variant\n `primary` colorStyle\n */\n {\n variant: ['ghost', 'outline'],\n colorStyle: 'primary',\n theme: 'light',\n className: primary.accent.default.color.base\n },\n {\n variant: ['ghost', 'outline'],\n colorStyle: 'primary',\n theme: 'dark',\n className: 'color-blue-300'\n },\n /*\n Added color and background-hover classes for those with\n `ghost` or `outline` variant\n `primary` colorStyle\n `disabled` false\n */\n {\n variant: ['ghost', 'outline'],\n colorStyle: 'primary',\n disabled: false,\n theme: 'light',\n className: primary.accent.lightest.bg.hover\n },\n {\n variant: ['ghost', 'outline'],\n colorStyle: ['primary', 'secondary', 'success', 'error', 'neutral'],\n disabled: false,\n theme: 'dark',\n className: 'hover:bg-gray-700'\n },\n /*\n Added color and background-hover classes for those with\n `ghost` or `outline` variant\n `secondary` or `neutral` colorStyle\n */\n {\n variant: ['ghost', 'outline'],\n colorStyle: ['secondary', 'neutral'],\n theme: 'light',\n class: primary.text.dark.base\n },\n {\n variant: ['ghost', 'outline'],\n colorStyle: ['secondary', 'neutral'],\n theme: 'dark',\n class: 'color-white'\n },\n /*\n Added color and background-hover classes for those with\n `ghost` or `outline` variant\n `secondary` or `neutral` colorStyle\n `disabled` false\n */\n {\n variant: ['ghost', 'outline'],\n colorStyle: ['secondary', 'neutral'],\n disabled: false,\n theme: 'light',\n className: primary.background.lightest.hover\n },\n /*\n Added color and background-hover classes for those with\n `ghost` or `outline` variant\n `success` colorStyle\n `disabled` false\n */\n {\n variant: ['ghost', 'outline'],\n colorStyle: 'success',\n disabled: false,\n theme: 'light',\n className: [primary.success.dark.color.base, primary.success.lightest.bg.hover]\n },\n {\n variant: ['ghost', 'outline'],\n colorStyle: 'success',\n disabled: false,\n theme: 'dark',\n className: 'color-green-300'\n },\n /*\n Added color and background-hover classes for those with\n `ghost` or `outline` variant\n `error` colorStyle\n */\n {\n variant: ['ghost', 'outline'],\n colorStyle: 'error',\n theme: 'light',\n className: primary.error.default.color.base\n },\n {\n variant: ['ghost', 'outline'],\n colorStyle: 'error',\n theme: 'dark',\n className: 'color-red-300'\n },\n /*\n Added color and background-hover classes for those with\n `ghost` or `outline` variant\n `error` colorStyle\n `disabled` false\n */\n {\n variant: ['ghost', 'outline'],\n colorStyle: 'error',\n disabled: false,\n theme: 'light',\n className: primary.error.lightest.bg.hover\n },\n /*\n Added `focus:outline` classes for those with\n `primary` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'primary',\n disabled: false,\n className: 'focus:outline-blue-200'\n },\n /*\n Added `focus:outline` classes for those with\n `secondary` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'secondary',\n disabled: false,\n className: 'focus:outline-navy-50'\n },\n /*\n Added `focus:outline` classes for those with\n `success` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'success',\n disabled: false,\n className: 'focus:outline-green-300'\n },\n /*\n Added `focus:outline` classes for those with\n `error` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'error',\n disabled: false,\n className: 'focus:outline-red-300'\n },\n /*\n Added `focus:outline` classes for those with\n `neutral` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'neutral',\n disabled: false,\n className: 'focus:outline-gray-300'\n },\n /*\n Added `focus:outline` classes for those with\n `analytics` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'analytics',\n disabled: false,\n className: 'focus:outline-analytics-light'\n },\n /*\n Added `focus:outline` classes for those with\n `pages` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'pages',\n disabled: false,\n className: 'focus:outline-pages-light'\n },\n /*\n Added `focus:outline` classes for those with\n `teams` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'teams',\n disabled: false,\n className: 'focus:outline-teams-light'\n },\n /*\n Added `focus:outline` classes for those with\n `sign` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'sign',\n disabled: false,\n className: 'focus:outline-sign-light'\n },\n /*\n Added `focus:outline` classes for those with\n `pdf` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'pdf',\n disabled: false,\n className: 'focus:outline-pdf-light'\n },\n /*\n Added `focus:outline` classes for those with\n `apps` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'apps',\n disabled: false,\n className: 'focus:outline-apps-light'\n },\n /*\n Added `focus:outline` classes for those with\n `reports` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'reports',\n disabled: false,\n className: 'focus:outline-reports-light'\n },\n /*\n Added `focus:outline` classes for those with\n `forms` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'forms',\n disabled: false,\n className: 'focus:outline-forms-light'\n },\n /*\n Added `focus:outline` classes for those with\n `tables` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'tables',\n disabled: false,\n className: 'focus:outline-tables-light'\n },\n /*\n Added `focus:outline` classes for those with\n `inbox` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'inbox',\n disabled: false,\n className: 'focus:outline-inbox-light'\n },\n /*\n Added `focus:outline` classes for those with\n `approvals` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'approvals',\n disabled: false,\n className: 'focus:outline-approvals-light'\n },\n // Icon gaps\n // XS\n {\n showTextOnly: 'xs',\n hasDoubleIcon: true,\n size: 'small',\n hasChildren: true,\n className: 'gap-1 xs:gap-0'\n },\n {\n showTextOnly: 'xs',\n hasDoubleIcon: true,\n size: 'medium',\n hasChildren: true,\n className: 'gap-2 xs:gap-0'\n },\n {\n showTextOnly: 'xs',\n hasDoubleIcon: true,\n size: 'large',\n hasChildren: true,\n className: 'gap-3 xs:gap-0'\n },\n // SM\n {\n showTextOnly: 'sm',\n hasDoubleIcon: true,\n size: 'small',\n hasChildren: true,\n className: 'gap-1 sm:gap-0'\n },\n {\n showTextOnly: 'sm',\n hasDoubleIcon: true,\n size: 'medium',\n hasChildren: true,\n className: 'gap-2 sm:gap-0'\n },\n {\n showTextOnly: 'sm',\n hasDoubleIcon: true,\n size: 'large',\n hasChildren: true,\n className: 'gap-3 sm:gap-0'\n },\n // MD\n {\n showTextOnly: 'md',\n hasDoubleIcon: true,\n size: 'small',\n className: 'gap-1 md:gap-0'\n },\n {\n showTextOnly: 'md',\n hasDoubleIcon: true,\n size: 'medium',\n className: 'gap-2 md:gap-0'\n },\n {\n showTextOnly: 'md',\n hasDoubleIcon: true,\n size: 'large',\n className: 'gap-3 md:gap-0'\n },\n // LG\n {\n showTextOnly: 'lg',\n hasDoubleIcon: true,\n size: 'small',\n className: 'gap-1 lg:gap-0'\n },\n {\n showTextOnly: 'lg',\n hasDoubleIcon: true,\n size: 'medium',\n className: 'gap-2 lg:gap-0'\n },\n {\n showTextOnly: 'lg',\n hasDoubleIcon: true,\n size: 'large',\n className: 'gap-3 lg:gap-0'\n },\n // XL\n {\n showTextOnly: 'xl',\n hasDoubleIcon: true,\n size: 'small',\n className: 'gap-1 xl:gap-0'\n },\n {\n showTextOnly: 'xl',\n hasDoubleIcon: true,\n size: 'medium',\n className: 'gap-2 xl:gap-0'\n },\n {\n showTextOnly: 'xl',\n hasDoubleIcon: true,\n size: 'large',\n className: 'gap-3 xl:gap-0'\n },\n // XXL\n {\n showTextOnly: 'xxl',\n hasDoubleIcon: true,\n size: 'small',\n className: 'gap-1 xxl:gap-0'\n },\n {\n showTextOnly: 'xxl',\n hasDoubleIcon: true,\n size: 'medium',\n className: 'gap-2 xxl:gap-0'\n },\n {\n showTextOnly: 'xxl',\n hasDoubleIcon: true,\n size: 'large',\n className: 'gap-3 xxl:gap-0'\n },\n {\n size: 'small',\n hasOneIcon: false,\n hasDoubleIcon: true,\n hasChildren: false,\n className: 'gap-1'\n },\n {\n size: 'medium',\n hasOneIcon: false,\n hasDoubleIcon: true,\n hasChildren: false,\n className: 'gap-2'\n },\n {\n size: 'large',\n hasOneIcon: false,\n hasDoubleIcon: true,\n hasChildren: false,\n className: 'gap-3'\n }\n ]\n});\n\nexport const buttonTextCVA = cva('', {\n variants: {\n size: {\n small: 'px-1 text-sm',\n medium: 'px-2 text-sm',\n large: 'px-3 text-lg'\n },\n showTextOnHover: {\n true: 'hiddenjf group-hover:block whitespace-nowrap'\n },\n showTextOnly: {\n xs: 'xs:inline',\n sm: 'sm:inline',\n md: 'md:inline',\n lg: 'lg:inline',\n xl: 'xl:inline',\n xxl: 'xxl:inline'\n },\n loader: {},\n hasLoaderText: {},\n hasChildren: {}\n },\n compoundVariants: [\n {\n showTextOnly: ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'],\n className: 'hiddenjf'\n },\n {\n loader: true,\n hasLoaderText: false,\n hasChildren: true,\n className: 'opacity-0'\n }\n ]\n});\n\nexport const buttonIconCVA = cva('magnet-button-icon shrink-0', {\n variants: {\n size: {\n small: 'w-4 h-4',\n medium: 'w-5 h-5',\n large: 'w-6 h-6'\n },\n loader: {},\n hasLoaderText: {}\n },\n compoundVariants: [\n {\n loader: true,\n hasLoaderText: false,\n className: 'opacity-0'\n },\n {\n loader: true,\n hasLoaderText: true,\n className: 'hiddenjf'\n }\n ]\n});\n\nexport const buttonIndicatorCVA = cva('shrink-0', {\n variants: {\n loader: {},\n colorStyle: {}\n },\n compoundVariants: [\n {\n colorStyle: undefined,\n className: 'color-navy-300'\n },\n {\n loader: true,\n className: 'opacity-0'\n }\n ]\n});\n","\n import API from \"!../../../../style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/singletonStyleDomAPI.js\";\n import insertFn from \"!../../../../style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n \n import content, * as namedExport from \"!!../../../../css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].oneOf[2].use[1]!../../../../postcss-loader@8.1.1_@rspack+core@1.1.0_@swc+helpers@0.5.12__postcss@8.4.38_typescript@5.0.4__5lvnl7xmoydmkkvnqez3gfmijq/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].oneOf[2].use[2]!./animation.css\";\n \n \n\nvar options = {};\n\n;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].oneOf[2].use[1]!../../../../postcss-loader@8.1.1_@rspack+core@1.1.0_@swc+helpers@0.5.12__postcss@8.4.38_typescript@5.0.4__5lvnl7xmoydmkkvnqez3gfmijq/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].oneOf[2].use[2]!./animation.css\";\n export default content && content.locals ? content.locals : undefined;\n","import { cva } from 'class-variance-authority';\nimport { primary } from '../../tokens/colors';\nimport { CVAType } from '../../types/system.types';\nimport { IndicatorProps } from './indicator.types';\n\n// // CVA Types\ntype IndicatorCVAType = CVAType & { hasChildren?: boolean }>\n\n// Classes\nexport const indicatorCVA = cva(\n 'magnet-pill inline-flex radius-full', {\n variants: {\n size: {},\n colorStyle: {},\n hasChildren: {\n true: 'justify-center items-center font-bold'\n },\n invert: {\n true: 'bg-white'\n }\n },\n compoundVariants: [\n /*\n Added width & height classes for sizes if component has children\n */\n {\n hasChildren: false,\n size: 'small',\n class: 'w-2 h-2'\n },\n {\n hasChildren: false,\n size: 'medium',\n class: 'w-2.5 h-2.5'\n },\n {\n hasChildren: false,\n size: 'large',\n class: 'w-3 h-3'\n },\n /*\n Added width, height, padding, text classes for sizes if component has no children\n */\n {\n hasChildren: true,\n size: 'small',\n class: 'min-w-4 h-4 px-1 text-xxs'\n },\n {\n hasChildren: true,\n size: 'medium',\n class: 'min-w-5 h-5 px-1.5 text-xs'\n },\n {\n hasChildren: true,\n size: 'large',\n class: 'min-w-6 h-6 px-2 text-sm'\n },\n /*\n Added color classes for all colorStyles for those with\n `invert` false & `hasChildren` true\n */\n {\n colorStyle: ['primary', 'success', 'error'],\n invert: false,\n hasChildren: true,\n class: 'color-white'\n },\n {\n colorStyle: 'secondary',\n hasChildren: true,\n class: primary.text.darkest.base\n },\n /*\n Added bg classes for each colorStyles for those with\n `current` false\n */\n {\n colorStyle: 'primary',\n invert: false,\n class: primary.accent.default.bg.base\n },\n {\n colorStyle: 'secondary',\n invert: false,\n class: primary.background.light.base\n },\n {\n colorStyle: 'success',\n invert: false,\n class: primary.success.default.bg.base\n },\n {\n colorStyle: 'error',\n invert: false,\n class: primary.error.default.bg.base\n },\n /*\n Added color classes for each colorStyles for those with\n `invert` true (mostly for usage with button)\n */\n {\n colorStyle: 'primary',\n invert: true,\n class: primary.accent.default.color.base\n },\n {\n colorStyle: 'secondary',\n invert: true,\n class: primary.text.dark.base\n },\n {\n colorStyle: 'success',\n invert: true,\n class: primary.success.default.color.base\n },\n {\n colorStyle: 'error',\n invert: true,\n class: primary.error.default.color.base\n }\n ]\n }\n);\n","import React from 'react';\nimport { cx } from 'class-variance-authority';\n\nimport '@jotforminc/jotform.css';\n// eslint-disable-next-line no-restricted-imports\nimport '@jotforminc/jotform.css/animation.css';\n\nimport { indicatorCVA } from './indicator.cva';\nimport { IndicatorProps, indicatorDefaultProps } from './indicator.types';\n\nexport const Indicator = (props: IndicatorProps):JSX.Element => {\n const {\n className, children, colorStyle, invert, size, ...rest\n } = props;\n\n const hasChildren = !!children;\n\n const indicatorClassName = cx(className, indicatorCVA({\n colorStyle,\n hasChildren,\n invert,\n size\n }));\n\n return (\n \n {children}\n \n );\n};\n\nIndicator.defaultProps = indicatorDefaultProps;\n","import { ComponentPropsWithoutRef } from 'react';\nimport { ColorStyle, Size } from '../../constants/common.types';\n\nexport type IndicatorProps = ComponentPropsWithoutRef<'span'> & {\n size?: Size,\n colorStyle?: ColorStyle | 'secondary',\n invert?: boolean\n}\n\nexport const indicatorDefaultProps:Partial = {\n invert: false,\n size: 'medium',\n colorStyle: 'primary'\n};\n","import React, { PropsWithChildren } from 'react';\nimport { cx } from 'class-variance-authority';\nimport { Indicator } from '../Indicator';\nimport { ButtonTextProps, ButtonIconProps, ButtonIndicatorProps } from './button.types';\nimport { buttonTextCVA, buttonIconCVA, buttonIndicatorCVA } from './button.cva';\n\nexport const ButtonText = (props: PropsWithChildren): JSX.Element => {\n const {\n size, showTextOnHover, showTextOnly, loader, hasLoaderText, hasChildren, children\n } = props;\n\n return (\n \n {children}\n \n );\n};\n\nexport const ButtonIcon = (props: ButtonIconProps): JSX.Element => {\n const {\n size, hasLoaderText, loader, icon: Icon\n } = props;\n\n return ;\n};\n\nexport const ButtonIndicator = (props: ButtonIndicatorProps): JSX.Element => {\n const {\n size, loader, indicatorText, colorStyle, variant\n } = props;\n\n // If color style is not `primary`, `success`, `error`, pill's color always should be `null`\n const indicatorColorStyle = (colorStyle === 'primary' || colorStyle === 'success' || colorStyle === 'error' || colorStyle === 'secondary') ? colorStyle : undefined;\n\n const indicatorVariant = variant === 'filled';\n\n return (\n \n {indicatorText}\n \n );\n};\n","import { cva } from 'class-variance-authority';\nimport { primary } from '../../tokens/colors';\nimport { CVAType } from '../../types/system.types';\nimport { LoaderProps } from './loader.types';\n\n// CVA Types\ntype LoaderCVAType = CVAType>;\ntype LoaderElementsCVAType = CVAType>;\n\n// Classes\nexport const loaderCVA = cva(\n 'magnet-loader relative', {\n variants: {\n size: {\n small: 'w-4 h-4',\n medium: 'w-5 h-5',\n large: 'w-6 h-6'\n },\n theme: {}\n }\n }\n);\n\nexport const loaderTrackCVA = cva('opacity-20 absolute inset-px radius-full border-2', {\n variants: {\n theme: {\n current: 'border-current',\n dark: primary.border.darkest.base,\n light: 'border-white'\n }\n }\n});\n\nexport const loaderSpinnerCVA = cva(\n 'absolute inset-px radius-full border-2 border-t-transparent border-b-transparent border-l-transparent anim anim-700 spin-loader timing-linear', {\n variants: {\n theme: {\n current: 'border-r-current',\n dark: 'border-r-navy-700',\n light: 'border-r-white'\n }\n }\n }\n);\n","import { ComponentPropsWithoutRef } from 'react';\nimport { Size, Theme } from '../../constants/common.types';\n\nexport type LoaderProps = ComponentPropsWithoutRef<'div'> & {\n size?: Size,\n theme?: Theme | 'current'\n}\n\nexport const loaderDefaultProps:Partial = {\n size: 'medium',\n theme: 'current'\n};\n","import React from 'react';\nimport { cx } from 'class-variance-authority';\n\nimport '@jotforminc/jotform.css';\n// eslint-disable-next-line no-restricted-imports\nimport '@jotforminc/jotform.css/animation.css';\n\nimport { loaderCVA, loaderSpinnerCVA, loaderTrackCVA } from './loader.cva';\nimport { LoaderProps, loaderDefaultProps } from './loader.types';\n\nexport const Loader = (props: LoaderProps):JSX.Element => {\n const {\n className, size, theme, ...rest\n } = { ...loaderDefaultProps, ...props };\n\n const loaderClassName = cx(className, loaderCVA({\n size,\n theme\n }));\n\n return (\n
\n \n
\n
\n );\n};\n","// Radio & Checkbox & ChoiceLabel\nexport const CHOICE_TRUNCATE_VALUES = ['both', 'description', 'label'] as const;\n\nexport const THEME_VALUES = ['dark', 'light'] as const;\nexport const SIZE_VALUES = ['small', 'medium', 'large'] as const;\nexport const BREAKPOINT_VALUES = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'] as const;\nexport const PRODUCT_NAME_VALUES = ['teams', 'pdf', 'apps', 'reports', 'forms', 'sign', 'tables', 'inbox', 'approvals', 'analytics', 'pages'] as const;\nexport const RESPONSIVE_BREAKPOINT_VALUES = ['base', ...BREAKPOINT_VALUES] as const;\nexport const COLOR_STYLE_VALUES = ['primary', 'success', 'error'] as const;\n\n// Form Controls\nexport const FORM_CONTROL_COLOR_STYLE_VALUES = ['default', 'primary', 'success', 'warning', 'error'] as const;\nexport const BASE_INPUT_ADDON_DIRECTION_VALUES = ['start', 'end'] as const;\nexport const BASE_INPUT_ADDON_VARIANT_VALUES = ['filled', 'ghost'] as const;\n\n// Flex & Grid\nexport const JUSTIFY_CONTENT_VALUES = ['start', 'end', 'center', 'between', 'around', 'evenly'] as const;\nexport const ALIGN_ITEMS_VALUES = ['start', 'end', 'center', 'stretch', 'baseline'] as const;\nexport const FLEX_DIRECTION_VALUES = ['row', 'column', 'row-reverse', 'column-reverse'] as const;\nexport const FLEX_WRAP_VALUES = ['wrap', 'nowrap'] as const;\nexport const FLEX_GROW_VALUES = ['0', '1'] as const;\nexport const FLEX_SHRINK_VALUES = ['0', '1'] as const;\nexport const ORDER_VALUES = ['none', 'first', 'last'] as const;\nexport const ALIGN_SELF_VALUES = ['auto', 'center', 'start', 'end', 'stretch', 'baseline'] as const;\nexport const JUSTIFY_SELF_VALUES = ['auto', 'center', 'start', 'end', 'stretch'] as const;\n\nexport const GRID_TRACK_VALUES = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'] as const;\nexport const GRID_TEMPLATE_COLUMNS_VALUES = ['none', ...GRID_TRACK_VALUES] as const;\nexport const GRID_ITEM_START_END_VALUES = ['auto', ...GRID_TRACK_VALUES] as const;\n","import React, { ComponentPropsWithRef, ElementType, forwardRef } from 'react';\nimport { cx } from 'class-variance-authority';\n\nimport '@jotforminc/jotform.css';\nimport { buttonCVA } from './button.cva';\nimport {\n ButtonComponentType, ButtonProps, buttonDefaultProps\n} from './button.types';\n\nimport { ButtonIcon, ButtonIndicator, ButtonText } from './ButtonContent';\nimport { Loader } from '../Loader/Loader';\n\nimport { PolymorphicProps } from '../../types/system.types';\nimport { PRODUCT_NAME_VALUES } from '../../constants/common.values';\n\nexport const Button:ButtonComponentType = forwardRef(\n // eslint-disable-next-line complexity\n (\n props: PolymorphicProps,\n ref?: ComponentPropsWithRef['ref']\n ): JSX.Element => {\n const {\n children,\n className,\n colorStyle = buttonDefaultProps.colorStyle,\n disabled = buttonDefaultProps.disabled,\n endIcon: EndIcon,\n fullWidth = buttonDefaultProps.fullWidth,\n href,\n loader = buttonDefaultProps.loader,\n loaderText,\n indicatorText,\n invert = buttonDefaultProps.invert,\n rounded = buttonDefaultProps.rounded,\n showTextOnHover = buttonDefaultProps.showTextOnHover,\n size = buttonDefaultProps.size,\n startIcon: StartIcon,\n showTextOnly = buttonDefaultProps.showTextOnly,\n theme = buttonDefaultProps.theme,\n type = buttonDefaultProps.type,\n variant = buttonDefaultProps.variant,\n as: Component = href ? 'a' : 'button',\n ...rest\n } = props;\n\n const hasOneIcon = !!((StartIcon && !EndIcon) || (!StartIcon && EndIcon));\n const hasDoubleIcon = !!(StartIcon && EndIcon);\n const hasIndicator = !!indicatorText;\n\n const hasChildren = !!children;\n const hasLoaderText = !!loaderText;\n const isProductButton = colorStyle ? (PRODUCT_NAME_VALUES as ReadonlyArray).includes(colorStyle) : false;\n\n // If color style is a product color, its variant always should be `filled`\n const buttonVariant = isProductButton ? 'filled' : variant;\n\n // The `loader` state should work only if it is not `disabled`.\n const buttonLoader = !disabled ? loader : false;\n\n // Update button text according the loader state\n const buttonText = hasLoaderText && buttonLoader ? loaderText : children;\n\n // Check button text\n const hasText = hasChildren || (hasLoaderText && buttonLoader);\n\n // Button class list\n const buttonClassName = cx(className, buttonCVA({\n colorStyle,\n disabled,\n fullWidth,\n hasDoubleIcon,\n hasLoaderText,\n hasOneIcon,\n hasChildren,\n invert,\n loader: buttonLoader,\n rounded,\n showTextOnHover,\n showTextOnly,\n size,\n theme,\n variant: buttonVariant\n }));\n\n // Loader content\n const loaderComponent = ;\n const loaderContent = hasLoaderText ? loaderComponent : {loaderComponent};\n\n // Button content\n const buttonContent = (\n <>\n {StartIcon && (\n \n )}\n {buttonLoader && loaderContent}\n {hasText && (\n \n {buttonText}\n \n )}\n {hasIndicator && !hasLoaderText && (\n \n )}\n {EndIcon && !hasIndicator && (\n \n )}\n \n );\n\n return (\n \n {buttonContent}\n \n );\n }\n);\n","import { ComponentPropsWithoutRef, ElementType, ReactElement } from 'react';\nimport { PolymorphicProps } from '../../types/system.types';\nimport {\n Breakpoint, ColorStyle, Icon, ProductName, Size\n} from '../../constants/common.types';\n\nexport type AcceptableButtonTypes = 'button' | 'a';\n\nexport const defaultButtonType:AcceptableButtonTypes = 'button';\n\nexport type ButtonProps = {\n colorStyle?: ColorStyle | ProductName | 'secondary' | 'neutral',\n disabled?: boolean,\n endIcon?: Icon,\n fullWidth?: boolean,\n href?: string,\n indicatorText?: string,\n invert?: boolean,\n loader?: boolean,\n loaderText?: string,\n rounded?: boolean,\n showTextOnHover?: boolean,\n showTextOnly?: Breakpoint | null,\n size?: Size,\n startIcon?: Icon,\n theme?: 'dark' | 'light',\n type?: 'submit' | 'button' | 'reset',\n variant?: 'filled' | 'outline' | 'ghost'\n}\n\nexport type ButtonTextProps = Pick & {\n hasLoaderText?: boolean,\n hasChildren?: boolean\n}\n\nexport type ButtonIconProps = Pick & {\n icon: ElementType,\n hasLoaderText?: boolean\n}\n\nexport type ButtonIndicatorProps = Pick\n\nexport type ButtonComponentType = (\n props: PolymorphicProps & { ref?: ComponentPropsWithoutRef['ref'] }\n) => ReactElement | null\n\nexport const buttonDefaultProps:Partial = {\n colorStyle: 'primary',\n disabled: false,\n fullWidth: false,\n invert: false,\n loader: false,\n rounded: false,\n showTextOnHover: false,\n showTextOnly: null,\n size: 'medium',\n theme: 'light',\n type: 'button',\n variant: 'filled'\n};\n","\n \n\n","\n \n\n","// Clear translation visibility classes\nexport const clearTranslationMarkup = () => {\n // Get elements with the class\n const elements = global.document.body.querySelectorAll('.js-translationBlocker');\n\n // Get direct parents of translation texts\n const textParents = global.document.body.querySelectorAll('.js-translationText');\n\n // Get select parents of translation texts\n const selectParents = global.document.body.querySelectorAll('.js-translationSelect');\n\n // Convert node list to array and remove class from each element\n Object.values(elements).forEach(el => el && el.classList && el.classList.remove('js-translationBlocker'));\n // Object.values(textParents).forEach(el => el && el.classList && el.classList.remove('js-translationText'));\n Object.values(textParents).forEach(el => {\n // eslint-disable-next-line no-unused-expressions\n if (el && el.classList) {\n const elc = el;\n elc.style.outline = 'none';\n elc.style.position = 'initial';\n elc.style.zIndex = 'initial';\n el.classList.remove('js-translationText');\n }\n });\n Object.values(selectParents).forEach(el => {\n // Return if not a valid dom element\n if (!el || !el.classList) {\n return false;\n }\n\n // Get original size and multiple values of element if there were exist\n const originalSize = el.getAttribute('data-tempsize');\n const originalMultiple = el.getAttribute('data-tempmultiple');\n\n // Remove temporary attributes\n el.removeAttribute('data-tempsize');\n el.removeAttribute('data-tempmultiple');\n\n // If any one of them was setted then add them again; otherwise remove them\n if (originalSize !== 'null') {\n el.setAttribute('size', originalSize);\n } else {\n el.removeAttribute('size');\n }\n\n if (originalMultiple !== 'null') {\n el.setAttribute('multiple', originalMultiple);\n } else {\n el.removeAttribute('multiple');\n }\n\n // Lastly remove translation class\n el.classList.remove('js-translationSelect');\n });\n};\n\nexport const addTranslationMarkup = (el, initial = true) => {\n // If element is body or global then no need to process further\n if (el === global || el === global.document || el === global.document.body) return true;\n\n // If element or style belongs to it is undefined then terminate the process\n if (!el) return false;\n\n // Put text class at initial call\n if (initial) {\n el.parentElement.classList.add('js-translationText');\n\n const parent = el.parentElement;\n parent.style.outline = '3px solid #F00';\n parent.style.position = 'relative';\n parent.style.zIndex = '1000';\n }\n\n // Process if style is defined\n if (el.style) {\n // Get current style values of the element\n const currentStyle = global.getComputedStyle(el);\n\n // Check if one of the invisibility requirements it satisfied\n if (currentStyle.display === 'none' || currentStyle.opacity === '0' || currentStyle.visibility === 'hidden' || currentStyle.maxHeight === '0px') {\n // Add visibility class of translation\n el.classList.add('js-translationBlocker');\n }\n }\n\n if (el.tagName === 'SELECT') { // Handle select to show all options\n // Keep size and multiple attributes temporarily\n el.setAttribute('data-tempsize', el.getAttribute('size'));\n el.setAttribute('data-tempmultiple', el.getAttribute('multiple'));\n\n // Add size attribute temporarly to show all options\n el.setAttribute('size', el.length);\n el.setAttribute('multiple', 'multiple');\n\n // Add translation class to set height and mark select as dirty to clear later\n el.classList.add('js-translationSelect');\n }\n\n return addTranslationMarkup(el.parentElement, false);\n};\n\n// Finds elements that contains one of the texts passed\nexport const searchTextInDOM = (el, texts) => {\n // No need to parse the dom if it belongs to one of the given tags\n if (['SCRIPT', 'SVG', 'IMG', 'STYLE', 'INPUT', 'PATH'].indexOf(el.tagName) !== -1) {\n return null;\n }\n\n // If classList is defined for given element\n if (el.classList && el.classList.value) {\n // Define classes that we do not want to search\n // const classesToBeFiltered = [/hideOnDesktop/, /hide-on-builder/, /tabMenu/, /toggleText-mobile/, /hide-on-crawler/];\n const classesToBeFiltered = [/hideOnDesktop/, /toggleText-mobile/, /hide-on-crawler/];\n\n // Check if classList contains one of the unwanted classes\n if (classesToBeFiltered.some(rgx => rgx.test(el.classList.value))) {\n return null;\n }\n }\n\n // If still a child exist then parse tree deeper\n if (el.childNodes && el.childNodes.length !== 0) {\n return Object.values(el.childNodes) // Convert nodeList to array\n .filter(child => typeof child === 'object') // Remove numbers and functions to take only nodes(objects)\n .map(child => searchTextInDOM(child, texts)) // Call every node element with parseTree (recursive)\n .reduce((prev, curr) => (curr !== null ? prev.concat(curr) : prev), []); // Reduce results to one array\n }\n\n // Check if text content is one of the strings we are searching\n if (el.textContent && texts.indexOf(el.textContent.trim()) > -1) {\n return el;\n }\n\n return null;\n};\n\n// Checks if element is in viewport\nexport const isInViewport = el => {\n if (el === null) {\n return false;\n }\n if (typeof el.offsetTop === 'undefined') {\n return isInViewport(el.parentNode);\n }\n\n // Get recteangle information of element\n const elementRect = el.getBoundingClientRect();\n\n // Get window height and width\n const windowHeight = global.window.innerHeight;\n const windowWidth = global.window.innerWidth;\n\n // Get scrolling x and y\n const scrollX = global.window.pageXOffset;\n const scrollY = global.window.pageYOffset;\n\n // eslint-disable-next-line max-len\n if (elementRect.top + elementRect.height < windowHeight + scrollY && elementRect.left + elementRect.width < windowWidth + scrollX && elementRect.top + elementRect.height > 0 && elementRect.left + elementRect.width > 0) {\n return true;\n // eslint-disable-next-line no-else-return\n } else {\n // eslint-disable-next-line no-lonely-if\n if (global.window.casperJsTest) {\n el.scrollIntoView({ behavior: 'auto', block: 'center' });\n return true;\n // eslint-disable-next-line no-else-return\n } else {\n return false;\n }\n }\n};\n\n// Get text contents of dom elements\nexport const getTextContents = elements => elements.map(el => el.textContent.trim());\n","import qs from 'qs';\nimport Axios from 'axios';\nimport Polyglot from 'node-polyglot';\nimport domtoimage from 'dom-to-image-more';\nimport isUndefined from 'lodash/isUndefined';\n\nimport {\n isInViewport,\n getTextContents,\n searchTextInDOM,\n addTranslationMarkup,\n clearTranslationMarkup\n} from './domHelper';\n\nclass Translation {\n constructor() {\n // Default value settings\n this.defaultLang = 'en-US';\n this.processedStrings = {};\n this.usedTranslations = [];\n this.untranslatedStrings = {};\n this.currentLocale = this.defaultLang;\n this.filterClasses = [\n 'ace_editor',\n 'ace-solarized-dark',\n 'ace_dark',\n 'input-group',\n 'isAvatar',\n 'jfHeader-userAvatar',\n 'themesListItem-img',\n 'themesListItem-imgAspect',\n 'prevUploads-list',\n 'card-leftSide',\n 'jfQuestion-fields-contentVisible',\n 'appBox-image'\n ];\n this.filterTags = [\n 'IFRAME',\n 'IMG'\n ];\n this.dictionaries = {\n [this.defaultLang]: new Polyglot({\n phrases: {},\n locale: this.defaultLang.split('-')[0],\n allowMissing: true\n })\n };\n\n this.interpolation = { templateSyntax: /\\{.\\}*\\w+\\}/g, eraseTemplate: /\\{|\\}/g };\n // Variables related to delayed submitNotTranslated function\n this.callTimer = null;\n\n // Number of elements to be processed and send to server at once\n this.processLimit = 1;\n\n // Debounce time for process function\n this.debounceTime = 1000;\n\n // Function binds\n this.setLocale = this.setLocale.bind(this);\n this.resetProcess = this.resetProcess.bind(this);\n this.limitElements = this.limitElements.bind(this);\n this.orderElements = this.orderElements.bind(this);\n this.takeScreenShot = this.takeScreenShot.bind(this);\n this.debounceProcess = this.debounceProcess.bind(this);\n this.handleMissingKey = this.handleMissingKey.bind(this);\n this.submitNotTranslated = this.submitNotTranslated.bind(this);\n this.processNotTranslated = this.processNotTranslated.bind(this);\n this.updateProcessedStrings = this.updateProcessedStrings.bind(this);\n this.rotateUntranslatedStrings = this.rotateUntranslatedStrings.bind(this);\n this.filterUntranslatedStrings = this.filterUntranslatedStrings.bind(this);\n this.translate = this.translate.bind(this);\n this.initServerSideDictionary = this.initServerSideDictionary.bind(this);\n }\n\n // Getter for getting untranslated string list of current language\n get currentLocaleUntranslated() {\n return Array.isArray(this.untranslatedStrings[this.currentLocale]) ? this.untranslatedStrings[this.currentLocale] : [];\n }\n\n // Get processed elements in this session\n get currentProcessed() {\n return Array.isArray(this.processedStrings[this.currentLocale]) ? this.processedStrings[this.currentLocale] : [];\n }\n\n // Get single array that contains all untranslated strings\n get allUntranslatedStrings() {\n return Object.keys(this.untranslatedStrings).reduce(\n (prev, curr) => prev.concat(this.untranslatedStrings[curr]),\n []\n );\n }\n\n initServerSideDictionary(langCode, dictionary) {\n this.add(langCode, dictionary);\n }\n\n // Sets current locale and fetch untranslated list if it still does not exist\n setLocale(code) {\n // Set locale of objectcurrentLocale\n this.currentLocale = code;\n }\n\n // Update untranslatedStrings array by removing sended strings\n filterUntranslatedStrings(langCode, strings) {\n this.untranslatedStrings = {\n\n ...this.untranslatedStrings,\n [langCode]: this.untranslatedStrings[langCode].filter(str => strings.indexOf(str) === -1)\n };\n }\n\n // Update unprocessedStrings by adding sended strings\n updateProcessedStrings(langCode, strings) {\n // Add processed words to processed list\n this.processedStrings = {\n\n ...this.processedStrings,\n [langCode]: this.processedStrings[langCode] ? this.processedStrings[langCode].concat(strings) : strings\n };\n }\n\n // Add sended str to the untranslatedStrIngs array of current locale\n addUntranslatedString(str) {\n this.untranslatedStrings = {\n\n ...this.untranslatedStrings,\n [this.currentLocale]: this.currentLocaleUntranslated.concat([str])\n };\n }\n\n // Move given strings to the end of their respective array\n rotateUntranslatedStrings(strings) {\n // For each key filter given strings and append found ones to the end\n this.untranslatedStrings = Object.keys(this.untranslatedStrings).reduce((prev, curr) => {\n // Get matched strings array of given locale\n const foundStrings = this.untranslatedStrings[curr].filter(str => strings.indexOf(str) > -1);\n\n // First filter given strings and then append them afterward\n return {\n\n ...prev,\n [curr]: this.untranslatedStrings[curr].filter(str => foundStrings.indexOf(str) < 0).concat(foundStrings)\n };\n }, {});\n }\n\n // Order given dom elements respect to their position as strings in untranslated array\n orderElements(elements) {\n // No need to order if only one is found\n if (elements.length <= 1) {\n return elements;\n }\n\n // Get strings of elements\n const textContents = getTextContents(elements);\n\n // Order elements by looking their string positions\n return this.allUntranslatedStrings.filter(str => textContents.indexOf(str) > -1).map(str => elements[textContents.indexOf(str)]);\n }\n\n // Initializes locale and the dictionary belongs to it\n add(code = '', dictionary = {}) {\n // Initialize locale\n this.setLocale(code);\n\n if (isUndefined(this.dictionaries[code])) {\n // Add sended dictionary to the current list\n this.dictionaries = {\n\n ...this.dictionaries,\n [code]: new Polyglot({\n phrases: dictionary,\n locale: code.split('-')[0],\n onMissingKey: this.handleMissingKey // This function will be triggered if the text does not exist in translation list\n })\n };\n }\n }\n\n // Translate string using Polyglot api\n translate(str, params) {\n let translated = str;\n if (typeof params === 'object' && Object.keys(params).length) {\n const variables = str.match(this.interpolation.templateSyntax);\n variables?.forEach(strVar => {\n // Remove template string characters and get variable name.\n const variableName = strVar.replace(this.interpolation.eraseTemplate, '');\n // If there is a value for given key, replace the key with given value\n if (params[variableName]) {\n translated = translated.replace(strVar, params[variableName]);\n }\n });\n }\n\n if (!this.usedTranslations.includes(str)) {\n this.usedTranslations.push(str);\n }\n\n return this.dictionaries[this.currentLocale].t(translated, params);\n }\n\n // Handler for texts that does not have translation\n handleMissingKey(str, options) {\n // Further process is limited to certain users\n if (!(global.window.useTranslationScreenshots === true)) {\n return Polyglot.transformPhrase(str, options);\n }\n\n // If it is already in processed list then skip processing it\n if (this.currentProcessed.indexOf(str) > -1) {\n return Polyglot.transformPhrase(str, options);\n }\n\n // Do not try to process if string is empty or only contains space\n if (/^\\s+$/.test(str)) {\n return '';\n }\n\n // Add founded word to untranslated texts if it does not exist\n if (this.currentLocaleUntranslated.indexOf(str) === -1) {\n this.addUntranslatedString(str);\n }\n\n // Call debounced process (works every n seconds where n is this.processLimit)\n this.debounceProcess();\n }\n\n // Delays the call of submitNotTranslated\n debounceProcess() {\n // If a timer is already started\n if (this.callTimer !== null) {\n // Do not process any further\n return;\n }\n\n // Restart timer\n this.callTimer = setTimeout(this.processNotTranslated, this.debounceTime);\n }\n\n // Limits sended dom elements according to the constants set in class\n limitElements(elements) {\n // Limit the elements based on the processLimit variable\n return elements.slice(0, this.processLimit);\n }\n\n // Filters false positive translations by looking their screenshot values\n filterFalseTranslations(strings, screenshots) {\n // Indexes of false screenshots\n const emptyIndexes = screenshots.reduce((prev, curr, index) => { return curr === false ? prev.concat([index]) : prev; }, []);\n\n // Filter strings that matched with false screenshot results\n const filteredStrings = {\n\n ...strings,\n [this.currentLocale]: strings[this.currentLocale].filter((str, index) => emptyIndexes.indexOf(index) < 0)\n };\n\n // Filter false screenshots\n const filteredScreenshots = screenshots.filter((ss, index) => emptyIndexes.indexOf(index) < 0);\n\n // Return filtered strings and screenshots\n return {\n filteredStrings,\n filteredScreenshots\n };\n }\n\n // Prepares object for next translation process\n resetProcess(strings = []) {\n // Clear timer as the submit promises are resolved\n clearTimeout(this.callTimer);\n this.callTimer = null;\n\n // If there is still an untranslated string in the list\n if (this.currentLocaleUntranslated.length !== 0) {\n if (strings.length !== 0) {\n // Rotate strings that tried to be translated before if they still exist\n this.rotateUntranslatedStrings(strings);\n }\n\n // Try to call process again\n this.debounceProcess();\n }\n }\n\n // Filter and screenshot process\n processNotTranslated() {\n // Get body for dom earch\n let node = '';\n if (global.window.casperjsTestDomParam) {\n node = global.document.querySelector(decodeURI(global.window.casperjsTestDomParam));\n /* eslint-disable no-console */\n console.log('global.window.casperjsTestDomParam', global.window.casperjsTestDomParam);\n /* eslint-enable no-console */\n } else {\n node = global.document.body;\n }\n\n // Search all texts accross dom elements to find their containers\n const foundElements = searchTextInDOM(node, this.allUntranslatedStrings);\n\n /* eslint-disable no-console */\n console.log('this.allUntranslatedStrings', this.allUntranslatedStrings);\n console.log('foundElements', foundElements);\n /* eslint-enable no-console */\n\n // If could not found any element then reset the process\n if (!foundElements || foundElements.length === 0) {\n if (global.window.casperJsTest) {\n global.window.captureInProcess = false;\n /* eslint-disable no-console */\n console.log('capture process finished!');\n /* eslint-enable no-console */\n }\n // Clear timer\n return this.resetProcess();\n }\n\n // Order these elements to match with their respected string positions in untranslated strings array\n const orderedFoundElements = this.orderElements(foundElements);\n\n // Limit the number of elements to be processed\n const elementsToProcess = this.limitElements(orderedFoundElements);\n\n // Get strings of found elements\n const foundStrings = getTextContents(elementsToProcess);\n\n // Get only matched strings from unstranslated list\n const untranslatedToPost = Object.keys(this.untranslatedStrings).reduce((prev, curr) => ({\n\n ...prev,\n [curr]: this.untranslatedStrings[curr].filter(str => foundStrings.indexOf(str) > -1)\n }), {});\n\n // Create promise for each screenshot\n const ssPromises = Object.values(elementsToProcess).reduce((prev, curr) => { return typeof curr === 'object' ? prev.concat([this.takeScreenShot(node, curr)]) : prev; }, []);\n\n Promise.all(ssPromises) // After all screenshots taken\n .then(ssDataAll => this.filterFalseTranslations(untranslatedToPost, ssDataAll)) // Filter false positive translations\n // After resolving all of the promises just pass them to the not transalted submission\n .then(({ filteredStrings, filteredScreenshots }) => this.submitNotTranslated(filteredStrings, filteredScreenshots))\n // Reset required variables and do post process jobs to prepare object for next translation after submissions\n .then(submitPromises => Promise.all(submitPromises).then(() => this.resetProcess(foundStrings)));\n }\n\n // Submit not translated strings\n submitNotTranslated(untranslatedToPost, ssDataAll) {\n // Send translation request for each key separately\n return Object.keys(untranslatedToPost).map(langCode => {\n // Get strings to send\n const strings = untranslatedToPost[langCode];\n\n let depthCount = 0;\n let depthLabel = '';\n if (global.window.casperJsTest) {\n if (global.window.depthCount) {\n depthCount = global.window.depthCount;\n }\n if (global.window.depthLabel) {\n depthLabel = global.window.depthLabel;\n }\n }\n\n // No need to send data if one of them is empty or their lengths are not equal to each other\n if (strings.length === 0 || ssDataAll.length === 0 || strings.length !== ssDataAll.length) {\n if (global.window.casperJsTest) {\n global.window.captureInProcess = false;\n /* eslint-disable no-console */\n console.log('capture process finished!');\n /* eslint-enable no-console */\n }\n return false;\n }\n\n Axios.post('/server.php', qs.stringify({\n action: 'submitNotTranslated',\n lang_code: langCode,\n raw: untranslatedToPost[langCode].join('__NOT_TRANSLATED__'),\n autoSuggestion: false,\n depthCount,\n depthLabel,\n screenshot: ssDataAll.join('|||')\n }), {\n 'Content-Type': 'application/x-www-form-urlencoded'\n })\n .then(() => {\n // Move processed strings to processed list\n this.updateProcessedStrings(langCode, untranslatedToPost[langCode]);\n\n // Filter them from untranslated list\n this.filterUntranslatedStrings(langCode, untranslatedToPost[langCode]);\n });\n\n return true;\n });\n }\n\n // Take screenshot of given node if foundElement is visible in that dom\n takeScreenShot(node, foundElement) {\n // Try to make every element visible on found elements\n const visibilityResult = addTranslationMarkup(foundElement);\n if (global.window.casperJsTest) {\n /* eslint-disable no-console */\n console.log('foundElement', foundElement.wholeText);\n /* eslint-enable no-console */\n }\n // Do not need to take ss if element is invisible or not in viewport\n if (!visibilityResult || !isInViewport(foundElement)) {\n /* eslint-disable no-console */\n console.log('the element is invisible or not in viewport');\n /* eslint-enable no-console */\n // Clear visibility\n clearTranslationMarkup();\n\n // Return false due to it does not exist on screen\n return false;\n }\n\n // If the page is loaded by casperjs\n if (global.window.casperJsTest) {\n // Send capture command to casperjs as error\n /* eslint-disable no-console */\n console.log('capture');\n /* eslint-enable no-console */\n\n // Resolve with base64 encoded ss data\n return new Promise(resolve => {\n setTimeout(() => {\n // Take ss data\n const capturedData = global.window.tempCaptureData;\n\n // Clear temporary data\n global.window.tempCaptureData = null;\n\n // Clear visibility classes\n clearTranslationMarkup();\n\n // Return screenshot\n resolve(capturedData);\n }, 2000);\n });\n }\n\n // Take screenshot and return base64 encoded form using visibility css\n return new Promise(resolve => domtoimage.toPng(\n node,\n {\n filter: el => {\n // Return if element is not valid to check\n if (!el || !el.className || !el.tagName || typeof el.className !== 'string') {\n return true;\n }\n\n // If element is one of the tags to be filtered from screenshot\n if (this.filterTags.indexOf(el.tagName) > -1) {\n return false;\n }\n\n const filteredNodeClass = el.className.split(' ').filter(classStr => this.filterClasses.indexOf(classStr) !== -1);\n\n return filteredNodeClass.length === 0;\n }\n }\n )\n .then(dataUrl => {\n // Clear visibility classes\n clearTranslationMarkup();\n\n // Return screenshot\n resolve(dataUrl);\n }));\n }\n}\n\nexport const translation = global.Translations || new Translation();\n\nexport default Translation;\n","export const langCodes = {\n tr: 'tr-TR',\n en: 'en-US',\n es: 'es-ES',\n pt: 'pt-PT',\n fr: 'fr-FR',\n de: 'de-DE',\n it: 'it-IT',\n bg: 'bg-BG',\n sr: 'sr-BA',\n hu: 'hu-HU',\n fi: 'fi-FI',\n ka: 'ka-GE',\n nl: 'nl-NL',\n uk: 'uk-UA',\n ua: 'uk-UA',\n id: 'id-ID',\n ko: 'ko-KR',\n ar: 'ar-AR',\n ja: 'ja-JP',\n pl: 'pl-PL',\n ca: 'ca-ES',\n sv: 'sv-SE',\n no: 'no-NO',\n da: 'da-DA',\n ro: 'ro-RO',\n ru: 'ru-RU',\n zh: 'zh-CN',\n 'zh-CN': 'zh-CN',\n 'zh-HK': 'zh-HK',\n af: 'af-ZA',\n he: 'he-IL'\n};\n\nexport const partialTranslations = {\n 'animal-shelter': path => /(jotform.com|jform.co.kr|jotform.pro)(\\/){1}(animal-shelter){1}/g.test(path)\n};\n\n/**\n * Returns Jotform translation files suffix (locale/locale_SUFFIX.js)\n * @param {string} localeCode - lang-[country] (en-US, pt-BR, en)\n * @return {string} A value from langCodes object.\n */\nexport const getLangFileSuffix = localeCode => {\n const lang = localeCode.split('-')[0];\n return langCodes[localeCode] || langCodes[lang];\n};\n\nexport const DEFAULT_LANGUAGE = 'en-US';\n","import { langCodes } from './constants';\n\nexport const getApp = () => global.window.__jfrouter?.ACTIVE_ALIAS || global.window.location.pathname?.replace(/\\//g, '');\nexport const isProduction = () => global.window?.__jfrouter?.JOTFORM_ENV === 'PRODUCTION' || global.window?.JOTFORM_ENV === 'PRODUCTION';\n\nconst encodedAndProcessedStrings = [];\n\nconst processTranslation = async string => {\n const transformPhrase = string?.replace(/JotForm|Jform/gm, 'Jotform')?.trim();\n const buffer = new TextEncoder('utf-8').encode(transformPhrase);\n const digest = await global.crypto.subtle.digest('SHA-1', buffer);\n return {\n raw: transformPhrase,\n encoded: Array.from(new Uint8Array(digest)).map(x => x.toString(16).padStart(2, '0')).join('')\n };\n};\n\nexport const encodeUsedTranslations = translations => {\n translations.forEach(translation => {\n processTranslation(translation)\n .then(({ encoded, raw }) => {\n if (!global.Translations.encodedAndProcessedStrings.some(q => Object.keys(q).includes(encoded))) {\n global.Translations.encodedAndProcessedStrings.push({\n [encoded]: raw\n });\n }\n })\n .catch(error => console.error(error));\n });\n\n return encodedAndProcessedStrings;\n};\n\nexport const collectionTimer = () => {\n const year = new Date().getFullYear();\n const month = new Date().getMonth();\n const day = new Date().getDate();\n const hours = new Date().getHours();\n const minutes = new Date().getMinutes();\n const now = Date.UTC(year, month, day, hours, minutes, 0);\n const startDate = Date.UTC(year, month, day, hours, 0, 0);\n const endDate = Date.UTC(year, month, day, hours, 15, 0);\n\n // Between HH:00 and HH:15\n return startDate < now && endDate > now;\n};\n\nexport const unlocalizeOriginHref = url => {\n const shortLangCodes = Object.keys(langCodes)?.join('|');\n const exp = RegExp(`(\\\\/)(${shortLangCodes})(\\\\/)`, 'g');\n\n return url?.replace(exp, '/');\n};\n","import axios from 'axios';\nimport isNil from 'lodash/isNil';\n\nimport { encodeUsedTranslations, unlocalizeOriginHref } from './utils';\nimport { partialTranslations, DEFAULT_LANGUAGE } from './constants';\n\nexport const prepareT = translation => function t(str, params = {}) {\n if (!str) {\n return str;\n }\n if (typeof str !== 'string') {\n return str;\n }\n\n if ((global?.window?.location?.href || '')?.includes('rawTranslationTextMode=true')) {\n return str;\n }\n\n let translated = str;\n try {\n if (typeof translation.translate === 'function') {\n translated = translation.translate(str, params);\n } else if (typeof translation.t === 'function') {\n translated = translation.t(str, params);\n }\n if (typeof global?.window?.useTranslationScreenshots !== 'undefined') {\n return str;\n }\n if (translation.currentLocale !== DEFAULT_LANGUAGE && str !== translated && translation.controlMode) {\n return '1';\n }\n } catch (e) {\n console.error('Error on common/translate falling back with original str', e);\n }\n\n const resp = (params.branding21) ? translated.replace(/JotForm/g, 'Jotform') : translated;\n\n return resp;\n};\n\nexport const preapreTtime = translation => function ttime(str, options = {}) {\n const { hour = 'numeric', minute = 'numeric' } = options;\n const formatOptions = { hour, minute };\n let [hourVal, minuteVal] = str.replace('/am|pm/', '').split(':').map(i1 => parseInt(i1, 10)); //eslint-disable-line\n\n if (str.indexOf('pm') > 0) {\n hourVal = hourVal !== 12 ? hourVal + 12 : hourVal;\n } else if (str.indexOf('am') > 0) {\n hourVal = hourVal === 12 ? 0 : hourVal;\n }\n\n const tempDate = new Date();\n tempDate.setHours(hourVal, minuteVal);\n // eslint-disable-next-line no-restricted-globals\n if (isNaN(tempDate.getTime())) {\n return str;\n }\n return tempDate.toLocaleTimeString(translation.currentLocale, formatOptions);\n};\n\nexport const prepareTDate = translation => function tdate(str, options = {}) {\n try {\n const ttime = preapreTtime(translation);\n if (options.timeOnly) {\n return ttime(str, options);\n }\n const dateObj = new Date(str);\n // eslint-disable-next-line no-restricted-globals\n if (isNaN(dateObj.getTime())) {\n return str;\n }\n // Add undesired fields with null values to options object. Ex:{weekday : null}\n const formatOptions = {\n weekday: 'short', year: 'numeric', month: 'short', day: 'numeric'\n };\n if (options && typeof options === 'object') {\n Object.keys(options).forEach(optionName => {\n if (options[optionName] == null) {\n delete formatOptions[optionName];\n } else {\n formatOptions[optionName] = options[optionName];\n }\n });\n }\n return dateObj.toLocaleDateString(translation.currentLocale, formatOptions);\n } catch (err) {\n return str;\n }\n};\n\n// Example usage:\n/*\n translationRenderer('This is an [1[example]] string [2[for]] translation')({\n renderer1: (str) => {str}; // str is \"example\"\n fallback: (str) => {str};\n })\n - Since there is no render function given for second match, fallback function will be used as renderer.\n - Renderer functions can only have 1 parameter, which is sanitized version of delimeter.\n */\nexport const prepareTranslationRenderer = t => function translationRenderer(str, params = {}) {\n if ((global?.window?.location?.href || '')?.includes('rawTranslationTextMode=true')) {\n return () => str;\n }\n const translatedString = t(str, params);\n const getRendererIndex = delimiterStr => {\n const matches = delimiterStr.match(/\\[(\\d+)\\[/);\n if (matches && matches[1]) {\n return matches[1];\n }\n throw new Error(`Delimeter string (${delimiterStr}) format is inappropriate! Correct format is [RENDERER_NUMBER[TEXT]]`);\n };\n\n return renderFunctions => {\n try {\n const matchTemplate = /\\[\\d+\\[.*?\\]{2}/g;\n const replaceTemplate = /\\[(\\d+)\\[|\\]{2}/g;\n const matches = (translatedString && translatedString.match) ? translatedString.match(matchTemplate) : null;\n if (matches && matches.length > 0) {\n const renderers = renderFunctions || {};\n // Set a fallback renderer if it is not given in renderFunctions\n if (typeof renderers.fallback !== 'function') {\n renderers.fallback = i1 => i1;\n }\n // Create an array which includes all render functions\n const matchedStrings = matches.map(matchItem => {\n const currentKey = `renderer${getRendererIndex(matchItem)}`;\n const sanitizedValue = matchItem.replace(replaceTemplate, '');\n if (typeof renderers[currentKey] === 'function') {\n return renderers[currentKey](sanitizedValue);\n }\n return renderers.fallback(sanitizedValue);\n });\n\n return translatedString.split(matchTemplate).map((normStr, index) => (\n typeof matchedStrings[index] !== 'undefined'\n ? [normStr, matchedStrings[index]]\n : [normStr]\n ));\n }\n } catch (err) {\n console.error(err); // eslint-disable-line\n }\n return translatedString;\n };\n};\n\nexport const prepareControlModeChange = translation => function controlModeChange(controlMode) {\n return new Promise((resolve, reject) => {\n try {\n // eslint-disable-next-line no-param-reassign\n translation.controlMode = controlMode;\n resolve({ loaded: true, controlMode });\n } catch (err) {\n reject(new Error(err));\n }\n });\n};\n\nexport const prepareAddTranslationToDictionary = translation => function addTranslationToDictionary(code, translationData) {\n const dictionary = translationData;\n // remove untranslated keys\n const clearedDic = Object.keys(dictionary).reduce((dic, key) => {\n const entry = dictionary[key];\n if (!entry) {\n return dic;\n }\n return Object.assign(dic, { [key]: entry });\n }, {});\n\n if (dictionary) {\n translation.add(code, clearedDic);\n }\n return ({ loaded: true, code });\n};\n\nexport const generateDictionaryURL = ({ path, code = DEFAULT_LANGUAGE }) => {\n const sanitizedCode = code?.length !== 5 ? DEFAULT_LANGUAGE : code;\n return `/js/${path}/locale_${sanitizedCode}.js?${Math.floor((Math.random() * (9999 - 1001)) + 1000)}`;\n};\n\nexport const loadDictionaryViaTag = ({ code, path }) => new Promise((resolve, reject) => {\n try {\n const tmpScriptTag = global.document.createElement('script');\n tmpScriptTag.src = generateDictionaryURL({ code, path });\n tmpScriptTag.onload = () => resolve(global.Locale.language);\n tmpScriptTag.onerror = () => reject(new Error('Language dictionary load failed.'));\n\n if (!global.Locale) {\n global.Locale = {};\n }\n\n global.document.body.appendChild(tmpScriptTag);\n } catch (e) {\n reject(e);\n }\n});\n\nexport const loadDictionaryViaFetch = ({ code, path }) => fetch(generateDictionaryURL({ code, path }), {\n headers: { 'Content-Type': 'text/plain' }\n}).then(r => r.text()).then(r => r.replace('Locale.language=', '')).then(r => JSON.parse(r));\n\nexport const prepareAddDictionary = translation => function addDictionary(code, partialDictionaryName) {\n const addTranslationToDictionary = prepareAddTranslationToDictionary(translation);\n const url = unlocalizeOriginHref(global?.window?.location?.href);\n const partialDictionaryPath = partialDictionaryName || Object.keys(partialTranslations).find(q => partialTranslations[q](url));\n const loadMethod = global?.document ? loadDictionaryViaTag : loadDictionaryViaFetch;\n const path = partialDictionaryPath ? `locale/partial-translations/${partialDictionaryPath}` : 'locale';\n return new Promise((resolve, reject) => {\n loadMethod({ path, code: code?.length !== 5 ? DEFAULT_LANGUAGE : code })\n .then(translationData => resolve(addTranslationToDictionary(code, translationData)))\n .catch(err => reject(new Error(err)));\n });\n};\n\nexport const sendUsedTranslationsInterval = () => {\n if (isNil(global.Translations.processUsedTranslationsInterval) && !global.Translations.forceStopCollecting) {\n console.log('[Translations] :: Collecting used translation strings.');\n\n global.Translations.processUsedTranslationsInterval = setInterval(() => {\n const finishInterval = global.Translations.encodedAndProcessedStrings?.length >= global.Translations.usedTranslations?.length;\n\n if (global.Translations.forceStopCollecting) {\n return;\n }\n\n if (finishInterval) {\n clearInterval(global.Translations.processUsedTranslationsInterval);\n global.Translations.processUsedTranslationsInterval = null;\n global.Translations.forceStopCollecting = true;\n\n return axios.post('/API/translation/track-translated-strings', {\n url: global.location?.href,\n hashes: global.Translations.encodedAndProcessedStrings\n }).then(res => {\n if (res?.data?.responseCode === 200) {\n console.log(`[Translations] :: ${global.Translations.encodedAndProcessedStrings?.length} used translations collected.`);\n }\n }).catch(() => {\n console.log('[Translations] :: Error while collect used translations.');\n });\n }\n\n encodeUsedTranslations(global.Translations.usedTranslations);\n }, 1500);\n }\n};\n","import { translation } from './Translation';\nimport { initializeTranslationFromGlobal } from './global';\nimport { prepareT, prepareTranslationRenderer, prepareTDate } from './hof';\nimport { langCodes, getLangFileSuffix } from './constants';\nimport { TranslateProvider } from './components/TranslateProvider';\nimport { setDatepickerLocale } from './setDatepickerLocale';\n\nconst t = prepareT(translation);\nconst tdate = prepareTDate(translation);\nconst translationRenderer = prepareTranslationRenderer(t);\n\ninitializeTranslationFromGlobal(translation, t);\n\nexport {\n t,\n tdate,\n translation,\n translationRenderer,\n langCodes,\n getLangFileSuffix,\n TranslateProvider,\n setDatepickerLocale\n};\n\nexport default translation;\n","import {\n prepareAddDictionary,\n prepareControlModeChange,\n prepareAddTranslationToDictionary,\n sendUsedTranslationsInterval\n} from './hof';\n\nimport { isProduction, collectionTimer } from './utils';\n\n/* eslint-disable no-param-reassign, no-extend-native */\nexport function initializeTranslationFromGlobal(translation, t) {\n const addDictionary = prepareAddDictionary(translation);\n const controlModeChange = prepareControlModeChange(translation);\n const addTranslationToDictionary = prepareAddTranslationToDictionary(translation);\n\n // Overriding all strings and adding locale method\n String.prototype.locale = function locale() {\n return t(this);\n };\n\n if (!global.Translations) {\n global.__t = t;\n global.Translations = translation;\n global.Translations.t = t;\n global.Translations.addDictionary = addDictionary;\n global.Translations.addTranslationToDictionary = addTranslationToDictionary;\n global.Translations.controlModeChange = controlModeChange;\n global.Translations.processUsedTranslationsInterval = null;\n global.Translations.encodedAndProcessedStrings = [];\n global.Translations.startCollectUsedTranslationsInterval = sendUsedTranslationsInterval;\n global.Translations.forceStopCollecting = false;\n }\n\n if (global.window && global.window.useLocaleDictionary && global.window?.Locale?.language) {\n addTranslationToDictionary(global.window.currentLocale, global.window.Locale.language);\n }\n\n if (isProduction() && collectionTimer() && global.Translations.currentLocale !== 'en-US') {\n sendUsedTranslationsInterval();\n }\n}\n","import { useContext } from 'react';\nimport { WizardContext } from '../context';\n\nexport const useWizard = () => useContext(WizardContext);\n","export const ALL_TEXTS = {\n LETS_START: 'Let\\'s start',\n BACK: 'Back',\n Next: 'Next',\n READ_TO_BUILD_YOUR_AI: 'Ready to build your AI Chatbot?',\n CREATE_AND_CUSTOMIZE_YOUR_AI: 'Create and customize your AI Chatbot in minutes',\n GO_TO_AI_CHATBOT_BUILDER: 'Go to AI Chatbot Builder',\n GO_TO_BUILDER: 'Go to Builder',\n SETUP_YOUR_AI_CHATBOT: 'Setup Your AI Chatbot',\n USE_TEMPLATE_OR_START_FROM_SCRATCH: 'You can use our pre-built templates or start from scratch',\n GREETING: 'Greeting',\n SHOW_A_MESSAGE: 'Show a message to greet users',\n HOW_CAN_I_HELP_YOU: 'Hi! How can I help you?',\n PULSING: 'Pulsing',\n ADD_A_PULSE_EFFECT: 'Add a pulsing effect to the avatar',\n POSITION: 'Position',\n CHOOSE_THE_AI_AGENT: 'Choose the AI Agent\\'s screen position',\n I_HAVE_READ_AND_ACCEPT_BETA: 'I have read and accept the [1[Beta Program Terms and Conditions]].',\n SHARE_YOUR_AI_CHATBOT: 'Share Your AI Chatbot',\n EASILY_EMBED_YOUR_AGENT: 'Easily embed your agent anywhere on your site',\n COLOR_SCHEME: 'Color Scheme',\n AGENT_BACKGROUND_STYLE: 'AGENT BACKGROUND STYLE',\n START_COLOR: 'Start Color',\n END_COLOR: 'End Color',\n CHAT_STYLE: 'CHAT STYLE',\n CHAT_BACKGROUND_COLOR: 'Chat Background Color',\n FONT_FAMILY: 'Font Family',\n FONT_COLOR: 'Font Color',\n BUTTON_STYLE: 'BUTTON STYLE',\n BUTTON_COLOR: 'Button Color',\n ICON_COLOR: 'Icon Color',\n DEFAULT: 'Default',\n CREATE_AI_CHATBOT: 'Create AI Chatbot',\n CREATE: 'Create',\n COPY_CODE: 'Copy Code',\n COPIED_TO_CLIPBOARD: 'Copied to Clipboard!',\n PASTE_THE_CODE_WHERE_YOU_WANT: 'Paste the code where you want the agent to display on your website',\n PREVIEW_YOUR_AI_CHATBOT: 'Preview your AI Chatbot'\n};\n","","\n \n\n","import { cva } from 'class-variance-authority';\nimport { primary, secondary } from '../../tokens/colors';\nimport { CVAType } from '../../types/system.types';\nimport { CheckboxProps } from './checkbox.types';\n\n// CVA Types\ntype CheckboxCVAType = CVAType>\ntype CheckboxWrapperCVAType = CVAType>\ntype CheckboxIconCVAType = CVAType>\n\n// Common classes\nconst checkboxSizes = {\n small: 'w-4 h-4',\n medium: 'w-5 h-5',\n large: 'w-6 h-6'\n};\n\n// Classes\nexport const checkboxCVA = cva(\n 'appearance-none border-2 radius inline-flex shrink-0 focus:outline-2 outline-offset-0 m-0', {\n variants: {\n size: checkboxSizes,\n disabled: {\n true: 'cursor-not-allowed',\n false: 'cursor-pointer'\n },\n checked: {},\n indeterminate: {},\n theme: {},\n error: {\n false: primary.accent.default.border.focus\n }\n },\n compoundVariants: [\n // Dark\n {\n theme: 'dark',\n error: false,\n className: 'outline-blue-600 outline-opacity-50'\n },\n {\n theme: 'dark',\n error: true,\n checked: true,\n className: 'outline-blue-600 outline-opacity-50'\n },\n {\n theme: 'dark',\n checked: false,\n disabled: false,\n error: false,\n indeterminate: false,\n className: [\n secondary.background.dark.base,\n secondary.border.medium.base,\n primary.accent.default.border.hover\n ]\n },\n {\n theme: 'dark',\n checked: true,\n disabled: true,\n indeterminate: false,\n className: [secondary.background.light.base, secondary.border.medium.base]\n },\n {\n theme: 'dark',\n indeterminate: true,\n checked: false,\n disabled: true,\n className: [secondary.background.light.base, secondary.border.medium.base]\n },\n {\n theme: 'dark',\n checked: false,\n disabled: true,\n indeterminate: false,\n className: [secondary.background.medium.base, secondary.border.medium.base]\n },\n // Light\n {\n theme: 'light',\n error: false,\n className: 'focus:outline-blue-200'\n },\n {\n theme: 'light',\n error: true,\n checked: true,\n className: 'focus:outline-blue-200'\n },\n {\n theme: 'light',\n checked: false,\n disabled: false,\n indeterminate: false,\n error: false,\n className: [primary.border.medium.base, primary.accent.default.border.hover, 'bg-white']\n },\n {\n theme: 'light',\n checked: true,\n disabled: true,\n className: 'bg-navy-50 border-navy-50'\n },\n {\n theme: 'light',\n indeterminate: true,\n checked: false,\n disabled: true,\n className: 'bg-navy-50 border-navy-50'\n },\n {\n theme: 'light',\n checked: false,\n disabled: true,\n className: 'border-navy-50'\n },\n // Dark & Light\n {\n theme: ['dark', 'light'],\n checked: false,\n error: false,\n className: [primary.accent.default.border.focus]\n },\n {\n theme: ['dark', 'light'],\n checked: true,\n disabled: false,\n indeterminate: false,\n className: [\n primary.accent.default.bg.base,\n primary.accent.default.border.base,\n primary.accent.dark.bg.hover,\n primary.accent.dark.border.hover\n ]\n },\n {\n theme: ['dark', 'light'],\n checked: false,\n indeterminate: true,\n disabled: false,\n className: [\n primary.accent.default.bg.base,\n primary.accent.default.border.base,\n primary.accent.dark.bg.hover,\n primary.accent.dark.border.hover\n ]\n },\n {\n theme: ['dark', 'light'],\n checked: false,\n indeterminate: false,\n disabled: false,\n error: true,\n className: [\n primary.error.default.border.base,\n primary.error.dark.border.hover\n ]\n },\n {\n theme: 'light',\n checked: false,\n indeterminate: false,\n disabled: false,\n error: true,\n className: 'focus:outline-red-200 focus:outline-opacity-50'\n },\n {\n theme: 'dark',\n checked: false,\n indeterminate: false,\n error: true,\n disabled: false,\n className: [secondary.background.dark.base, 'focus:outline-red-400 focus:outline-opacity-50']\n }\n ]\n }\n);\n\nexport const checkboxWrapperCVA = cva('inline-flex shrink-0 relative', {\n variants: {\n size: checkboxSizes\n }\n});\n\nexport const checkboxIconCVA = cva('absolute inset-0 w-full h-full pointer-events-none', {\n variants: {\n disabled: {\n false: 'color-white'\n },\n theme: {}\n },\n compoundVariants: [\n {\n theme: 'dark',\n disabled: true,\n className: 'color-gray-600'\n },\n {\n theme: 'light',\n disabled: true,\n className: primary.text.light.base\n }\n ]\n});\n","import {\n Children, cloneElement, Fragment, isValidElement, ReactChild, ReactNode\n} from 'react';\nimport { Responsive } from '../constants/common.types';\n\nexport type ResponsiveClasses = Record>;\n\nexport const convertResponsiveClass = (\n propValue: Partial> | string | undefined, classList: ResponsiveClasses\n): string[] => {\n if (propValue === undefined) {\n return [];\n }\n\n const valueObject = typeof propValue === 'string' ? { base: propValue } : propValue;\n\n const classArr = Object.entries(valueObject).map(values => {\n const _key:T[number] = values[1];\n const _val = values[0] as Responsive;\n\n return classList[_key][_val];\n });\n\n return classArr;\n};\n\nexport function pick(\n object: T,\n keys: K[]\n): Pick {\n return Object.assign(\n {},\n ...keys.map((key: K) => {\n return { [key]: object[key] };\n })\n );\n}\n\ntype FlattenChildrenArgs = {\n children: ReactNode,\n depth: number,\n keys?: (string | number)[]\n filter: string,\n group:string\n}\n\nexport function flattenChildren({\n children, depth = 0, keys = [], filter, group\n}: FlattenChildrenArgs): ReactChild[] {\n return Children.toArray(children).reduce(\n (acc: ReactChild[] | any, node: any, nodeIndex) => {\n if (node?.type?.displayName === group || node?.type === Fragment) {\n acc.push(\n acc,\n ...flattenChildren({\n children: node.props.children,\n depth: depth + 1,\n keys: keys.concat(node.key || nodeIndex),\n group,\n filter\n })\n );\n } else if (isValidElement(node)) {\n acc.push(\n cloneElement(node, {\n key: keys.concat(String(node.key)).join('.')\n })\n );\n } else if (typeof node === 'string' || typeof node === 'number') {\n acc.push(node);\n }\n return acc;\n },\n []\n ).filter((child: any) => child?.type?.displayName === filter);\n}\n\nexport const arraysEqualsCheck = (a:any[] = [], b:any[] = []):boolean => a.length === b.length && a.every((v, i) => v === b[i]);\n","import {\n createContext, CSSProperties, ReactNode, useContext\n} from 'react';\nimport { useInteractions } from '@floating-ui/react';\nimport {\n FormControlColorStyle, Icon, Size, Theme\n} from '../constants/common.types';\nimport { pick } from '../utils';\nimport { TagProps } from '../components/Tag/tag.types';\n\nconst useSelectValue = (\n ownContext: ContextTypes,\n props: PropTypes,\n pickedContextValues: string[]\n): PropTypes => {\n if (!ownContext) {\n return props;\n }\n\n const pickedContext = pick(ownContext, pickedContextValues);\n return { ...props, ...pickedContext };\n};\n\nexport type FormControlContextType = {\n id?: string\n colorStyle?: FormControlColorStyle,\n size?: Size,\n disabled?: boolean,\n required?: boolean,\n readOnly?: boolean,\n theme?: Theme\n}\n\nexport const commonInputDefaults:Partial = {\n size: 'medium',\n theme: 'light',\n colorStyle: 'default'\n} as const;\n\nexport const FormControlContext = createContext(null);\n\ntype FormControlContextArrayKeys = (keyof FormControlContextType)[];\nconst contextValuesArray:FormControlContextArrayKeys = ['colorStyle', 'disabled', 'readOnly', 'required', 'size', 'theme', 'id'];\n\nexport const useFormControl = (\n props:T,\n pickContextValues:FormControlContextArrayKeys = contextValuesArray\n):T & FormControlContextType => {\n const formContext = useContext(FormControlContext);\n return useSelectValue(formContext, props, pickContextValues);\n};\n\nexport type HandleSelectParams = {\n index: number,\n} & DropdownOptionType\n\nexport type HandleGroupSelectParams = {\n checked: boolean,\n allOptions: DropdownOptionType[],\n childrenArray: DropdownOptionType[]\n}\n\nexport type HandleMultiSelect = {\n checked: boolean\n} & DropdownOptionType;\n\nexport type DropdownOptionType = {\n index?: number,\n icon?: Icon\n value: string | number,\n disabled?: boolean,\n tagStyles?: CSSProperties,\n tagColorStyle?: TagProps['colorStyle'],\n children?: string | ReactNode\n}\n\nexport type DropdownContextType = {\n activeIndex: number | null,\n selectedIndex: number | null,\n getItemProps: ReturnType['getItemProps'],\n handleSelect: (args: HandleSelectParams) => void,\n handleGroupSelect: (args: HandleGroupSelectParams) => void,\n handleMultiSelect: (args: HandleMultiSelect) => void,\n multiple?: boolean,\n selectedOptionArray: DropdownOptionType[] | null,\n setSelectedOptionArray: (array: DropdownOptionType[]) => void\n} & FormControlContextType;\n\nexport type DropdownGroupContextType = {\n indent?: boolean,\n}\n\nexport const DropdownContext = createContext(null);\n\nexport const DropdownGroupContext = createContext(null);\n\nexport const useDropdownContext = ():DropdownContextType => {\n const context = useContext(DropdownContext);\n if (!context) {\n throw new Error('DropdownOption/DropdownGroup should wrap within a Dropdown');\n }\n return context;\n};\n\nexport const useDropdownGroupContext = ():DropdownGroupContextType => {\n const context = useContext(DropdownGroupContext);\n if (!context) {\n return {};\n }\n return context;\n};\n","import { ChoiceTruncate, Size, Theme } from '../../constants/common.types';\nimport { commonInputDefaults } from '../../contexts';\nimport { NativePropsWithoutRef } from '../../types/system.types';\n\nexport type CheckboxBaseProps = {\n label?: string,\n description?: string\n htmlSize?: number,\n truncate?: ChoiceTruncate,\n size?: Size,\n indeterminate?: boolean,\n theme?: Theme,\n error?: boolean,\n in?: 'dropdown'\n}\n\nexport type CheckboxProps = NativePropsWithoutRef<'input', CheckboxBaseProps> & CheckboxBaseProps;\n\nexport const checkboxDefaultProps:Partial = {\n size: commonInputDefaults.size,\n theme: commonInputDefaults.theme\n};\n","import { VariantProps, cva } from 'class-variance-authority';\nimport { primary, secondary } from '../../tokens/colors';\nimport { CVAType } from '../../types';\nimport { ChoiceLabelProps } from './choice-label.types';\n\nexport type ChoiceLabelVariantProps = VariantProps\n\ntype ChoiceLabelCVAType = CVAType>\ntype ChoiceLabelContainerCVAType = CVAType>\ntype ChoiceLabelTextCVAType = CVAType & { hasDescription?: boolean }>\ntype ChoiceLabelDescCVAType = CVAType>\n\n// Variance values\nexport const choiceLabelCVA = cva('flex', {\n variants: {\n size: {\n small: 'gap-2',\n medium: 'gap-3',\n large: 'gap-3'\n },\n disabled: {},\n theme: {},\n truncate: {}\n },\n compoundVariants: [\n {\n truncate: ['both', 'description', 'label'],\n className: 'max-w-full'\n }\n ]\n});\n\nexport const choiceLabelContainerCVA = cva('', {\n variants: {\n size: {\n small: '-mt-px',\n large: 'mt-0.5'\n },\n truncate: {}\n },\n compoundVariants: [\n {\n truncate: ['both', 'description', 'label'],\n className: 'overflow-hidden'\n }\n ]\n});\n\nexport const choiceLabelTextCVA = cva('', {\n variants: {\n size: {\n small: 'text-sm',\n medium: 'text-md',\n large: 'text-md'\n },\n hasDescription: {\n true: 'font-bold'\n },\n theme: {},\n disabled: {},\n truncate: {}\n },\n compoundVariants: [\n {\n size: ['small', 'medium', 'large'],\n className: 'block'\n },\n {\n theme: 'light',\n disabled: false,\n className: primary.text.darkest.base\n },\n {\n theme: 'light',\n disabled: true,\n className: 'color-navy-100'\n },\n {\n theme: 'dark',\n disabled: false,\n className: 'color-white'\n },\n {\n theme: 'dark',\n disabled: true,\n className: 'color-gray-400'\n },\n {\n truncate: ['both', 'label'],\n className: 'truncate'\n }\n ]\n});\n\nexport const choiceLabelDescriptionCVA = cva('block', {\n variants: {\n size: {\n small: 'text-xs',\n medium: 'text-sm',\n large: 'text-sm'\n },\n theme: {},\n disabled: {},\n truncate: {}\n },\n compoundVariants: [\n {\n theme: 'light',\n disabled: false,\n className: primary.text.medium.base\n },\n {\n theme: 'light',\n disabled: true,\n className: 'color-navy-100'\n },\n {\n theme: 'dark',\n disabled: false,\n className: secondary.text.light.base\n },\n {\n theme: 'dark',\n disabled: true,\n className: 'color-gray-400'\n },\n {\n truncate: ['both', 'description'],\n className: 'truncate'\n }\n ]\n});\n","import React from 'react';\n\nimport { cx } from 'class-variance-authority';\n\nimport { ChoiceLabelProps, choiceLabelDefaultProps } from './choice-label.types';\nimport {\n choiceLabelCVA, choiceLabelContainerCVA, choiceLabelDescriptionCVA, choiceLabelTextCVA\n} from './choice-label.cva';\n\nexport const ChoiceLabel = (props: ChoiceLabelProps):JSX.Element => {\n const {\n className, description, disabled, id, input, label, size, theme, truncate\n } = props;\n const hasDescription = description.length > 0;\n const hasLabel = label.length > 0;\n\n return (\n
\n \n );\n};\n\nChoiceLabel.defaultProps = choiceLabelDefaultProps;\n","import { ComponentPropsWithoutRef } from 'react';\nimport { ChoiceTruncate, Size, Theme } from '../../constants/common.types';\n\nexport type ChoiceLabelBaseProps = {\n className?: string,\n description: string,\n id: string,\n input: ComponentPropsWithoutRef<'input'>,\n label: string,\n truncate?: ChoiceTruncate,\n disabled?: boolean,\n theme?: Theme,\n size?: Size\n}\n\nexport type ChoiceLabelProps = ChoiceLabelBaseProps;\n\nexport const choiceLabelDefaultProps:Partial = {\n description: '',\n label: '',\n disabled: false,\n size: 'medium',\n theme: 'light'\n};\n","import React, { ComponentPropsWithRef, forwardRef } from 'react';\nimport { cx } from 'class-variance-authority';\nimport { IconCheck, IconMinus } from '@jotforminc/svg-icons';\n\nimport '@jotforminc/jotform.css';\n\nimport { checkboxCVA, checkboxIconCVA, checkboxWrapperCVA } from './checkbox.cva';\nimport { CheckboxProps, checkboxDefaultProps } from './checkbox.types';\n\nimport { ChoiceLabel } from '../../shared/ChoiceLabel/ChoiceLabel';\nimport { useFormControl } from '../../contexts';\n\nexport const Checkbox = forwardRef((\n props: CheckboxProps,\n ref?: ComponentPropsWithRef<'input'>['ref']\n): JSX.Element => {\n const {\n description,\n label,\n htmlSize,\n theme,\n disabled,\n indeterminate,\n checked,\n size,\n error,\n className,\n id,\n truncate,\n ...rest\n } = useFormControl(props, ['theme', 'size']);\n\n const hasLabel = label && label.length > 0;\n const hasDescription = description && description.length > 0;\n const wrapperClass = cx(!hasLabel && !hasDescription ? className : null, checkboxWrapperCVA({ size }));\n\n const checkIcon = (\n \n \n {checked && }\n {indeterminate && }\n \n );\n\n return (\n (hasLabel || hasDescription) ? (\n \n ) : checkIcon\n );\n});\n\nCheckbox.defaultProps = checkboxDefaultProps;\n","import {\n UPDATE_THEME, UPDATE_THEME_PROPERTY, NEXT_STEP, PREVIOUS_STEP, TERMS_ACCEPTED, UPDATE_CUSTOMIZATION, USE_AGENT,\n UPDATE_USER_SETTINGS,\n ADD_MATERIAL,\n UPDATE_MATERIAL,\n DELETE_MATERIAL,\n BULK_DELETE_MATERIAL,\n UPDATE_CUSTOMIZATION_ASYNC,\n SELECT_AGENT\n} from './actions';\n\nexport const ACTION_CREATORS = {\n // step actions\n nextStep: () => ({ type: NEXT_STEP }),\n previousStep: () => ({ type: PREVIOUS_STEP }),\n useAgentRequest: () => ({\n type: USE_AGENT.REQUEST\n }),\n selectAgent: selectedTemplateAgentId => ({\n type: SELECT_AGENT,\n payload: { selectedTemplateAgentId }\n }),\n useAgentSuccess: result => ({\n type: USE_AGENT.SUCCESS,\n payload: { result }\n }),\n useAgentError: result => ({\n type: USE_AGENT.ERROR,\n payload: { result }\n }),\n // theme customization\n updateThemeRequest: () => ({\n type: UPDATE_THEME.REQUEST\n }),\n updateThemeSuccess: (result, themeName) => ({\n type: UPDATE_THEME.SUCCESS,\n payload: { result, themeName }\n }),\n updateThemeError: () => ({\n type: UPDATE_THEME.ERROR\n }),\n // theme property customization\n updateThemePropertyRequest: () => ({\n type: UPDATE_THEME_PROPERTY.REQUEST\n }),\n updateThemePropertySuccess: result => ({\n type: UPDATE_THEME_PROPERTY.SUCCESS,\n payload: { result }\n }),\n updateThemePropertyError: () => ({\n type: UPDATE_THEME_PROPERTY.ERROR\n }),\n // update user settings\n updateUserSettingsRequest: () => ({\n type: UPDATE_USER_SETTINGS.REQUEST\n }),\n updateUserSettingsSuccess: result => ({\n type: UPDATE_USER_SETTINGS.SUCCESS,\n payload: { result }\n }),\n updateUserSettingsError: () => ({\n type: UPDATE_USER_SETTINGS.ERROR\n }),\n // customizations\n updateCustomization: (key, value) => ({\n type: UPDATE_CUSTOMIZATION,\n payload: { key, value }\n }),\n updateCustomizationRequest: () => ({\n type: UPDATE_CUSTOMIZATION_ASYNC.REQUEST\n }),\n updateCustomizationSuccess: () => ({\n type: UPDATE_CUSTOMIZATION_ASYNC.SUCCESS\n }),\n updateCustomizationError: () => ({\n type: UPDATE_CUSTOMIZATION_ASYNC.ERROR\n }),\n termsChecked: value => ({\n type: TERMS_ACCEPTED,\n payload: value\n }),\n // add material\n addMaterialRequest: () => ({\n type: ADD_MATERIAL.REQUEST\n }),\n addMaterialSuccess: result => ({\n type: ADD_MATERIAL.SUCCESS,\n payload: { result }\n }),\n addMaterialError: () => ({\n type: ADD_MATERIAL.ERROR\n }),\n // update material\n updateMaterialRequest: () => ({\n type: UPDATE_MATERIAL.REQUEST\n }),\n updateMaterialSuccess: result => ({\n type: UPDATE_MATERIAL.SUCCESS,\n payload: { result }\n }),\n updateMaterialError: () => ({\n type: UPDATE_MATERIAL.ERROR\n }),\n // delete material\n deleteMaterialRequest: () => ({\n type: DELETE_MATERIAL.REQUEST\n }),\n deleteMaterialSuccess: (result, materialId) => ({\n type: DELETE_MATERIAL.SUCCESS,\n payload: { result, materialId }\n }),\n deleteMaterialError: () => ({\n type: DELETE_MATERIAL.ERROR\n }),\n // bulk delete material\n bulkDeleteMaterialRequest: () => ({\n type: BULK_DELETE_MATERIAL.REQUEST\n }),\n bulkDeleteMaterialSuccess: (result, materialIds) => ({\n type: BULK_DELETE_MATERIAL.SUCCESS,\n payload: { result, materialIds }\n }),\n bulkDeleteMaterialError: () => ({\n type: BULK_DELETE_MATERIAL.ERROR\n })\n};\n","import React, { useEffect } from 'react';\nimport { Checkbox } from '@jotforminc/magnet';\nimport { t, translationRenderer } from '@jotforminc/translation';\nimport { ACTION_CREATORS } from '../store';\nimport { useWizard } from '../hooks';\nimport { ALL_TEXTS } from '../constants';\n\nconst InitialStep = () => {\n const { state, dispatch, logJotformAction } = useWizard();\n const { AIAgentBetaAccepted, termsChecked } = state;\n\n useEffect(() => {\n logJotformAction({ action: 'seen', target: 'initialStep' });\n }, []);\n\n const handleTermsChange = e => {\n dispatch(ACTION_CREATORS.termsChecked(e.target.checked));\n };\n\n return (\n
\n );\n};\n\nexport default InitialStep;\n","let scriptLoaded = false;\n\nconst loadAgentEmbedScript = async (onLoad = f => f) => {\n if (scriptLoaded) {\n onLoad();\n return;\n }\n\n const script = document.createElement('script');\n script.src = 'https://cdn.jotfor.ms/s/umd/latest/for-embedded-agent.js';\n script.async = true;\n script.onload = () => {\n scriptLoaded = true;\n onLoad();\n };\n document.body.appendChild(script);\n};\n\nexport const initAgent = async ({ agentId, customizations = {} }) => {\n loadAgentEmbedScript(() => {\n if (window.AgentInitializer && agentId) {\n window.AgentInitializer.init({\n rootId: 'agent-preview-root',\n formID: agentId,\n queryParams: ['skipWelcome=1', 'isAIAgentAllowed=1'],\n domain: window.location.origin,\n isInitialOpen: true,\n isDraggable: false,\n background: 'linear-gradient(180deg, #C8CEED 0%, #C8CEED 100%)',\n buttonBackgroundColor: '#0a1551',\n buttonIconColor: '#fff',\n variant: false,\n customizations: {\n ...customizations\n // greeting: 'Yes',\n // greetingMessage: 'Hi! How can I assist you?',\n // pulse: 'Yes',\n // position: 'right',\n }\n });\n }\n });\n};\n","/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\nimport React, { useEffect } from 'react';\nimport { t } from '@jotforminc/translation';\nimport { ALL_TEXTS, USE_CASES } from '../constants';\nimport { useWizard } from '../hooks';\nimport { initAgent } from '../utils';\nimport { ACTION_CREATORS } from '../store';\n\nconst UseCaseStep = () => {\n const { state, dispatch, logJotformAction } = useWizard();\n const { selectedTemplateAgentId, customizations } = state;\n\n useEffect(() => {\n logJotformAction({ action: 'seen', target: 'useCaseStep' });\n }, []);\n\n useEffect(() => {\n initAgent({ agentId: selectedTemplateAgentId, customizations });\n }, [selectedTemplateAgentId, customizations]);\n\n const handleChange = async (value, label) => {\n dispatch(ACTION_CREATORS.selectAgent(value));\n logJotformAction({ action: 'click', target: label });\n };\n\n return (\n <>\n
\n

{t(ALL_TEXTS.SETUP_YOUR_AI_CHATBOT)}

\n

{t(ALL_TEXTS.USE_TEMPLATE_OR_START_FROM_SCRATCH)}

\n
\n
    \n {USE_CASES.map(({ templateAgentId: tempAgentId, label }) => (\n handleChange(tempAgentId, label)}\n >\n {t(label)}\n \n ))}\n
\n \n );\n};\n\nexport default UseCaseStep;\n","\n \n\n","import { cva } from 'class-variance-authority';\nimport { FormControlContextType } from '../contexts';\nimport { BaseInputProps, CVAType } from '../types';\nimport { primary } from '../tokens/colors';\nimport { ResponsiveClasses } from '../utils';\nimport { JUSTIFY_CONTENT_VALUES } from './common.values';\n\ntype FormControlInputCVAType = CVAType & Pick>;\ntype FormControlContainerCVAType = CVAType & Pick>;\n\nexport const commonFormControlCVA = {\n container: cva('flex', {\n variants: {\n colorStyle: {},\n disabled: {\n true: 'opacity-40'\n },\n readOnly: {},\n theme: {},\n required: {},\n ghost: {\n true: 'border-0 bg-transparent',\n false: 'border radius outline-2 outline-offset-0 hover:duration-300 focus:duration-300 duration-all-colors'\n }\n },\n compoundVariants: [\n {\n theme: 'light',\n className: primary.text.darkest.base\n },\n {\n theme: 'light',\n disabled: false,\n readOnly: false,\n ghost: false,\n className: 'bg-white'\n },\n {\n theme: 'light',\n disabled: true,\n readOnly: false,\n ghost: false,\n className: 'border-navy-50 bg-navy-50 outline-transparent'\n },\n // shadow\n {\n colorStyle: ['error', 'success', 'warning'],\n readOnly: false,\n ghost: false,\n className: 'shadow-xs'\n },\n {\n disabled: false,\n ghost: false,\n className: 'hover:shadow-xs'\n },\n // readonly - light\n {\n theme: 'light',\n disabled: false,\n readOnly: true,\n ghost: false,\n className: [\n primary.border.medium.base,\n primary.accent.default.border.focusWithin,\n 'bg-navy-25 outline-transparent hover:border-navy-300 focus-within:outline-blue-200 focus-within:outline-opacity-50'\n ]\n },\n // default - light\n {\n theme: 'light',\n disabled: false,\n readOnly: false,\n colorStyle: 'default',\n ghost: false,\n className: [\n primary.border.medium.base,\n primary.accent.default.border.focusWithin,\n 'outline-transparent hover:border-navy-300 focus-within:outline-blue-200 focus-within:outline-opacity-50'\n ]\n },\n // primary - light\n {\n theme: 'light',\n disabled: false,\n readOnly: false,\n colorStyle: 'primary',\n ghost: false,\n className: [\n primary.accent.default.border.base,\n 'outline-blue-200 outline-opacity-0 hover:outline-opacity-30 focus-within:outline-opacity-50'\n ]\n },\n // success - light\n {\n theme: 'light',\n disabled: false,\n readOnly: false,\n colorStyle: 'success',\n ghost: false,\n className: [\n primary.success.default.border.base,\n 'outline-green-200 outline-opacity-0 hover:outline-opacity-50 focus-within:outline-opacity-100'\n ]\n },\n // error - light\n {\n theme: 'light',\n disabled: false,\n readOnly: false,\n colorStyle: 'error',\n ghost: false,\n className: [\n primary.error.default.border.base,\n 'outline-red-200 outline-opacity-0 hover:outline-opacity-50 focus-within:outline-opacity-100'\n ]\n },\n // warning - light\n {\n theme: 'light',\n disabled: false,\n readOnly: false,\n ghost: false,\n colorStyle: 'warning',\n className: 'border-yellow-500 outline-yellow-200 outline-opacity-0 hover:outline-opacity-50 focus-within:outline-opacity-100'\n },\n {\n theme: 'dark',\n className: 'color-white'\n },\n {\n theme: 'dark',\n ghost: false,\n className: 'bg-gray-500'\n },\n // default - dark\n {\n theme: 'dark',\n disabled: false,\n readOnly: false,\n ghost: false,\n colorStyle: 'default',\n className: [\n primary.accent.default.border.focusWithin,\n 'border-gray-500 outline-transparent hover:border-gray-300 focus-within:outline-blue-500 focus-within:outline-opacity-30'\n ]\n },\n // primary - dark\n {\n theme: 'dark',\n disabled: false,\n readOnly: false,\n ghost: false,\n colorStyle: 'primary',\n className: [\n primary.accent.default.border.base,\n 'outline-blue-500 outline-opacity-0 hover:outline-opacity-20 focus-within:outline-opacity-30'\n ]\n },\n // success - dark\n {\n theme: 'dark',\n disabled: false,\n readOnly: false,\n ghost: false,\n colorStyle: 'success',\n className: [\n primary.success.default.border.base,\n 'outline-green-600 outline-opacity-0 hover:outline-opacity-30 focus-within:outline-opacity-50'\n ]\n },\n // error - dark\n {\n theme: 'dark',\n disabled: false,\n readOnly: false,\n ghost: false,\n colorStyle: 'error',\n className: 'border-red-400 outline-red-400 outline-opacity-0 hover:outline-opacity-30 focus-within:outline-opacity-50'\n },\n // warning - dark\n {\n theme: 'dark',\n disabled: false,\n readOnly: false,\n ghost: false,\n colorStyle: 'warning',\n className: 'border-yellow-500 outline-yellow-500 outline-opacity-0 hover:outline-opacity-30 focus-within:outline-opacity-50'\n },\n // readonly - dark\n {\n theme: 'dark',\n disabled: false,\n readOnly: true,\n ghost: false,\n className: [\n primary.accent.default.border.focusWithin,\n 'border-gray-500 outline-transparent hover:border-gray-300 focus-within:outline-blue-500 focus-within:outline-opacity-30'\n ]\n },\n {\n theme: 'dark',\n disabled: true,\n readOnly: false,\n ghost: false,\n className: 'outline-transparent border-gray-500'\n }\n ]\n }),\n input: cva('appearance-none bg-transparent grow-1 outline-0 w-full focus-visible-none border-0', {\n variants: {\n size: {\n small: 'text-sm',\n medium: 'text-sm',\n large: 'text-md'\n },\n theme: {},\n disabled: {},\n ghost: {\n true: '',\n false: 'radius'\n }\n },\n compoundVariants: [\n {\n theme: 'light',\n disabled: false,\n className: 'placeholder-navy-200'\n },\n {\n theme: 'light',\n disabled: true,\n className: 'placeholder-navy-300'\n }\n ]\n })\n};\n\nexport const justifyContentClasses:ResponsiveClasses = {\n around: {\n base: 'justify-around',\n xs: 'xs:justify-around',\n sm: 'sm:justify-around',\n md: 'md:justify-around',\n lg: 'lg:justify-around',\n xl: 'xl:justify-around',\n xxl: 'xxl:justify-around'\n },\n between: {\n base: 'justify-between',\n xs: 'xs:justify-between',\n sm: 'sm:justify-between',\n md: 'md:justify-between',\n lg: 'lg:justify-between',\n xl: 'xl:justify-between',\n xxl: 'xxl:justify-between'\n },\n center: {\n base: 'justify-center',\n xs: 'xs:justify-center',\n sm: 'sm:justify-center',\n md: 'md:justify-center',\n lg: 'lg:justify-center',\n xl: 'xl:justify-center',\n xxl: 'xxl:justify-center'\n },\n end: {\n base: 'justify-end',\n xs: 'xs:justify-end',\n sm: 'sm:justify-end',\n md: 'md:justify-end',\n lg: 'lg:justify-end',\n xl: 'xl:justify-end',\n xxl: 'xxl:justify-end'\n },\n evenly: {\n base: 'justify-evenly',\n xs: 'xs:justify-evenly',\n sm: 'sm:justify-evenly',\n md: 'md:justify-evenly',\n lg: 'lg:justify-evenly',\n xl: 'xl:justify-evenly',\n xxl: 'xxl:justify-evenly'\n },\n start: {\n base: 'justify-start',\n xs: 'xs:justify-start',\n sm: 'sm:justify-start',\n md: 'md:justify-start',\n lg: 'lg:justify-start',\n xl: 'xl:justify-start',\n xxl: 'xxl:justify-start'\n }\n};\n","import { cva } from 'class-variance-authority';\nimport { CVAType } from '../../types';\nimport { TextareaProps } from './textarea.types';\n\ntype TextareaCVAType = CVAType>\ntype TextareaContainerCVAType = CVAType>\ntype TextareaBarCVAType = CVAType>\n\nexport const textareaCVA = cva('magnet-textarea resize-none', {\n variants: {\n size: {\n small: 'p-3',\n medium: 'p-3',\n large: 'py-3 px-4'\n }\n }\n});\n\nexport const textareaContainerCVA = cva('magnet-textarea-container flex-col', {\n variants: {\n resize: {\n both: 'resize-both',\n none: 'resize-none',\n horizontal: 'resize-x',\n vertical: 'resize-y'\n }\n },\n compoundVariants: [\n {\n resize: ['both', 'horizontal', 'vertical'],\n className: 'overflow-auto'\n }\n ]\n});\n\nexport const textareaBarCVA = cva('flex items-center justify-end pb-2 gap-2', {\n variants: {\n size: {\n small: 'px-3 text-sm',\n medium: 'px-3 text-sm',\n large: 'px-4 text-md'\n },\n theme: {\n light: 'color-navy-200',\n dark: 'color-gray-200'\n }\n }\n});\n","import { ComponentPropsWithoutRef } from 'react';\nimport { FormControlContextType, commonInputDefaults } from '../../contexts';\n\nexport type NativeTextareaTypes = Omit, keyof FormControlContextType | 'maxLength'>\nexport type TextareaProps = FormControlContextType & NativeTextareaTypes & {\n resize?: 'none' | 'both' | 'horizontal' | 'vertical',\n maxLength?: number,\n ghost?: boolean\n}\n\nexport const textareaDefaultProps:Partial = {\n ...commonInputDefaults,\n resize: 'none'\n};\n","import React, {\n ChangeEvent, ComponentPropsWithRef, forwardRef, useEffect, useRef, useState\n} from 'react';\nimport { cx } from 'class-variance-authority';\nimport { IconLockFilled } from '@jotforminc/svg-icons';\n\nimport { useFormControl } from '../../contexts';\nimport { commonFormControlCVA } from '../../constants/common.cva';\n\nimport { textareaBarCVA, textareaCVA, textareaContainerCVA } from './textarea.cva';\nimport { TextareaProps, textareaDefaultProps } from './textarea.types';\n\nimport '@jotforminc/jotform.css';\n\nexport const Textarea = forwardRef((\n props: TextareaProps,\n ref: ComponentPropsWithRef<'textarea'>['ref']\n):JSX.Element => {\n const {\n colorStyle,\n readOnly,\n disabled,\n size,\n theme,\n resize,\n maxLength,\n onChange,\n className,\n value,\n ghost,\n ...rest\n } = useFormControl(props);\n\n const [count, setCount] = useState(0);\n const readOnlyVariant = readOnly && !disabled;\n const textareaContainerRef = useRef(null);\n\n const handleChange = (e: ChangeEvent) => {\n setCount(e.target.value.length);\n if (onChange) onChange(e);\n };\n\n const textareaContainerClassName = cx(\n className,\n commonFormControlCVA.container({\n colorStyle,\n readOnly: !!readOnlyVariant,\n disabled: !!disabled,\n theme,\n ghost: !!ghost\n }),\n textareaContainerCVA({ resize })\n );\n\n const textareaClassName = cx(\n commonFormControlCVA.input({\n disabled: !!disabled,\n theme,\n size\n }),\n textareaCVA({ size })\n );\n\n const getTextAreaLength = (textarea: HTMLTextAreaElement, inputValue: string | number | readonly string[] | undefined) => {\n if (Array.isArray(inputValue)) {\n return inputValue?.join(',').length;\n } if (typeof inputValue === 'string') {\n return inputValue?.length;\n }\n return textarea.value.length;\n };\n\n useEffect(() => {\n if (textareaContainerRef.current) {\n const textarea = (textareaContainerRef.current as HTMLDivElement).firstChild as HTMLTextAreaElement;\n const length = getTextAreaLength(textarea, value);\n setCount(length);\n }\n }, [value]);\n\n return (\n
\n \n {(readOnly || !!maxLength)\n && (\n
\n {readOnly && }\n {!!maxLength && (\n \n {count}\n /\n {maxLength}\n \n )}\n
\n )}\n
\n );\n});\n\nTextarea.defaultProps = textareaDefaultProps;\n","import { cva } from 'class-variance-authority';\nimport { primary, secondary } from '../../tokens/colors';\nimport { CVAType, RadioProps } from '../../types';\n\n// Common classes\nconst radioSizes = {\n small: 'w-4 h-4',\n medium: 'w-5 h-5',\n large: 'w-6 h-6'\n};\n\n// CVA Types\ntype RadioCVAType = CVAType>\ntype RadioCircleCVAType = CVAType>\ntype RadioWrapper = CVAType>\n\n// Variance values\nexport const radioCVA = cva(\n ['appearance-none border-2 radius-full inline-flex shrink-0 focus:outline-2 outline-offset-0 m-0'], {\n variants: {\n theme: {\n dark: 'outline-blue-600 outline-opacity-50',\n light: 'outline-blue-200'\n },\n size: radioSizes,\n disabled: {\n true: 'cursor-not-allowed'\n },\n checked: {},\n error: {}\n },\n compoundVariants: [\n {\n theme: ['dark', 'light'],\n checked: false,\n disabled: false,\n error: true,\n className: [\n primary.error.default.border.base,\n primary.error.dark.border.hover\n ]\n },\n // Dark\n {\n theme: 'dark',\n checked: false,\n disabled: false,\n error: false,\n className: [\n secondary.background.dark.base,\n secondary.border.medium.base,\n primary.accent.default.border.hover\n ]\n },\n {\n theme: ['dark', 'light'],\n checked: true,\n disabled: false,\n className: [\n primary.accent.default.bg.base,\n primary.accent.default.border.base,\n primary.accent.dark.bg.hover,\n primary.accent.dark.border.hover,\n primary.accent.default.bg.focus\n ]\n },\n {\n theme: 'dark',\n checked: true,\n disabled: true,\n className: [secondary.background.light.base, secondary.border.medium.base]\n },\n {\n theme: 'dark',\n checked: false,\n disabled: true,\n className: [secondary.background.medium.base, secondary.border.medium.base]\n },\n {\n theme: 'dark',\n checked: false,\n disabled: false,\n error: true,\n className: ['focus:outline-red-400 focus:outline-opacity-50']\n },\n // Light\n {\n theme: 'light',\n checked: false,\n disabled: false,\n error: false,\n className: [primary.border.medium.base, primary.accent.default.border.hover, primary.accent.default.border.focus, 'bg-white']\n },\n {\n theme: 'light',\n checked: true,\n disabled: true,\n className: 'bg-navy-50 border-navy-50'\n },\n {\n theme: 'light',\n checked: false,\n disabled: true,\n className: 'border-navy-50'\n },\n {\n theme: 'light',\n checked: false,\n disabled: false,\n error: true,\n className: ['focus:outline-red-200 focus:outline-opacity-50']\n }\n ]\n }\n);\n\nexport const radioWrapper = cva('inline-flex shrink-0 relative', {\n variants: {\n size: radioSizes\n }\n});\n\nexport const radioCircle = cva('absolute radius-full pointer-events-none', {\n variants: {\n size: {\n small: 'inset-1',\n medium: 'inset-1.5',\n large: 'inset-2'\n },\n theme: {},\n disabled: {}\n },\n compoundVariants: [\n {\n theme: 'dark',\n disabled: true,\n className: 'bg-gray-300'\n },\n {\n theme: 'dark',\n disabled: false,\n className: 'bg-white'\n },\n {\n theme: 'light',\n disabled: [false, true],\n className: 'bg-white'\n }\n ]\n});\n","import { ChoiceTruncate, Size, Theme } from '../../constants/common.types';\nimport { commonInputDefaults } from '../../contexts';\nimport { NativePropsWithoutRef } from '../../types/system.types';\n\ntype RadioBaseProps = {\n label?: string,\n description?: string\n htmlSize?: number,\n id: string,\n truncate?: ChoiceTruncate,\n theme?: Theme,\n size?: Size,\n error?: boolean,\n name: string,\n value: string\n};\n\nexport type RadioProps = NativePropsWithoutRef<'input', RadioBaseProps> & RadioBaseProps;\n\nexport const radioDefaultProps:Partial = {\n size: commonInputDefaults.size,\n theme: commonInputDefaults.theme\n};\n","import React, { ComponentPropsWithRef, forwardRef } from 'react';\nimport { cx } from 'class-variance-authority';\n\nimport '@jotforminc/jotform.css';\n\nimport { radioCVA, radioCircle, radioWrapper } from './radio.cva';\nimport { RadioProps, radioDefaultProps } from './radio.types';\n\nimport { ChoiceLabel } from '../../shared/ChoiceLabel/ChoiceLabel';\nimport { useFormControl } from '../../contexts';\n\nexport const Radio = forwardRef((\n props: RadioProps,\n ref?: ComponentPropsWithRef<'input'>['ref']\n): JSX.Element => {\n const {\n description,\n label,\n htmlSize,\n theme,\n disabled,\n checked,\n size,\n error,\n className,\n id,\n truncate,\n value,\n ...rest\n } = useFormControl(props, ['theme', 'size', 'disabled']);\n\n const hasLabel = label && label.length > 0;\n const hasDescription = description && description.length > 0;\n const wrapperClass = cx(!hasLabel && !hasDescription ? className : null, radioWrapper({ size }));\n\n const radioIcon = (\n \n \n {!!checked && }\n \n );\n\n return (\n (hasLabel || hasDescription) ? (\n \n ) : radioIcon\n );\n});\n\nRadio.defaultProps = radioDefaultProps;\n","\n import API from \"!../../../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/singletonStyleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n \n import content, * as namedExport from \"!!../../../../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].oneOf[3].use[1]!../../../../../node_modules/.pnpm/postcss-loader@8.1.1_@rspack+core@1.1.0_@swc+helpers@0.5.12__postcss@8.4.38_typescript@5.0.4__5lvnl7xmoydmkkvnqez3gfmijq/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].oneOf[3].use[2]!../../../../../node_modules/.pnpm/sass-loader@14.2.1_@rspack+core@1.1.0_@swc+helpers@0.5.12__sass-embedded@1.78.0_sass@1.75.0_w_m6gyofr5lgwlemccsvqwra2uoi/node_modules/sass-loader/dist/cjs.js!./toggle.scss\";\n \n \n\nvar options = {};\n\n;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].oneOf[3].use[1]!../../../../../node_modules/.pnpm/postcss-loader@8.1.1_@rspack+core@1.1.0_@swc+helpers@0.5.12__postcss@8.4.38_typescript@5.0.4__5lvnl7xmoydmkkvnqez3gfmijq/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].oneOf[3].use[2]!../../../../../node_modules/.pnpm/sass-loader@14.2.1_@rspack+core@1.1.0_@swc+helpers@0.5.12__sass-embedded@1.78.0_sass@1.75.0_w_m6gyofr5lgwlemccsvqwra2uoi/node_modules/sass-loader/dist/cjs.js!./toggle.scss\";\n export default content && content.locals ? content.locals : undefined;\n","import React from 'react';\nimport { bool, func } from 'prop-types';\nimport '../styles/toggle.scss';\n\nconst Toggle = ({ checked, onChange }) => {\n return (\n \n );\n};\n\nToggle.propTypes = {\n checked: bool.isRequired,\n onChange: func.isRequired\n};\n\nexport default Toggle;\n","import React, { useEffect } from 'react';\nimport { Radio, Textarea } from '@jotforminc/magnet';\nimport { t } from '@jotforminc/translation';\nimport Toggle from './Toggle';\nimport {\n ALL_TEXTS, CUSTOMIZATION_KEYS, POSITION, VERBAL_TOGGLE\n} from '../constants';\nimport { useWizard } from '../hooks';\nimport { ACTION_CREATORS } from '../store';\nimport { initAgent } from '../utils';\n\nconst CustomizationStep = () => {\n const { state, dispatch, logJotformAction } = useWizard();\n const { previewAgentId, customizations } = state;\n const {\n greeting, greetingMessage, pulse, position\n } = customizations;\n\n const pulseBool = pulse === VERBAL_TOGGLE.YES;\n const greetingBool = greeting === VERBAL_TOGGLE.YES;\n\n useEffect(() => {\n logJotformAction({ action: 'seen', target: 'customizationStep' });\n }, []);\n\n useEffect(() => {\n initAgent({ agentId: previewAgentId, customizations });\n }, [previewAgentId, customizations]);\n\n const handleChangeGreeting = value => {\n const verbalVal = value ? VERBAL_TOGGLE.YES : VERBAL_TOGGLE.NO;\n dispatch(ACTION_CREATORS.updateCustomization(CUSTOMIZATION_KEYS.GREETING, verbalVal));\n };\n\n const handleChangeGreetingText = value => {\n dispatch(ACTION_CREATORS.updateCustomization(CUSTOMIZATION_KEYS.GREETING_MESSAGE, value));\n };\n\n const handleChangePulsing = value => {\n const verbalVal = value ? VERBAL_TOGGLE.YES : VERBAL_TOGGLE.NO;\n dispatch(ACTION_CREATORS.updateCustomization(CUSTOMIZATION_KEYS.PULSE, verbalVal));\n };\n\n const handleChangePosition = value => {\n dispatch(ACTION_CREATORS.updateCustomization(CUSTOMIZATION_KEYS.POSITION, value));\n };\n\n return (\n <>\n
\n

{t(ALL_TEXTS.SETUP_YOUR_AI_CHATBOT)}

\n

{t(ALL_TEXTS.USE_TEMPLATE_OR_START_FROM_SCRATCH)}

\n
\n
\n
\n
\n

{t(ALL_TEXTS.GREETING)}

\n

{t(ALL_TEXTS.SHOW_A_MESSAGE)}

\n
\n handleChangeGreeting(!greetingBool)} />\n
\n handleChangeGreetingText(e.target.value)}\n disabled={!greetingBool}\n />\n
\n
\n
\n

{t(ALL_TEXTS.PULSING)}

\n

{t(ALL_TEXTS.ADD_A_PULSE_EFFECT)}

\n
\n handleChangePulsing(!pulseBool)} />\n
\n
\n
\n
\n

{t(ALL_TEXTS.POSITION)}

\n

{t(ALL_TEXTS.CHOOSE_THE_AI_AGENT)}

\n
\n
\n
    \n
  • \n handleChangePosition(POSITION.LEFT)}\n size=\"small\"\n value={POSITION.LEFT}\n name=\"position\"\n checked={position === POSITION.LEFT}\n />\n
  • \n
  • \n handleChangePosition(POSITION.RIGHT)}\n size=\"small\"\n value={POSITION.RIGHT}\n name=\"position\"\n checked={position === POSITION.RIGHT}\n />\n
  • \n
\n
\n \n );\n};\n\nexport default CustomizationStep;\n","export { urlAlphabet } from './url-alphabet/index.js'\nexport let random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nexport let customRandom = (alphabet, defaultSize, getRandom) => {\n let mask = (2 << (Math.log(alphabet.length - 1) / Math.LN2)) - 1\n let step = -~((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length === size) return id\n }\n }\n }\n}\nexport let customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size, random)\nexport let nanoid = (size = 21) =>\n crypto.getRandomValues(new Uint8Array(size)).reduce((id, byte) => {\n byte &= 63\n if (byte < 36) {\n id += byte.toString(36)\n } else if (byte < 62) {\n id += (byte - 26).toString(36).toUpperCase()\n } else if (byte > 62) {\n id += '-'\n } else {\n id += '_'\n }\n return id\n }, '')\n","export const KEY_KEYCODE_LIST = {\n Enter: 13,\n Backspace: 8,\n Comma: 188,\n Tab: 9,\n Space: 32,\n Escape: 27\n};\n\nexport const SERVER_ERROR = 'Server error';\nexport const FILE_TYPE_ERROR = 'Unsupported file type';\n","import React from 'react';\nimport { nanoid } from 'nanoid';\n\nimport { KEY_KEYCODE_LIST } from './constants';\n\nexport const wrapWithComp = (child, type, Comp = 'span') => {\n if (typeof child === 'string') {\n return {child};\n }\n return child;\n};\n\n// Expects event as parameter\nexport const prepareKeyList = keyList => Object.keys(KEY_KEYCODE_LIST).filter(key => keyList.indexOf(key) > -1).map(key => ({ key, keyCode: KEY_KEYCODE_LIST[key] }));\nexport const isPressedKeyFN = keyList => {\n const preparedKeyList = prepareKeyList(keyList);\n return ({ key, keyCode }) => preparedKeyList.filter(({ key: expectedKey, keyCode: expectedKeyCode }) => (expectedKey === key || expectedKeyCode === keyCode)).length > 0;\n};\nexport const isPressedKeyEnter = isPressedKeyFN(['Enter']);\nexport const isPressedKeyBackspace = isPressedKeyFN(['Backspace']);\nexport const isPressedKeyTab = isPressedKeyFN(['Tab']);\nexport const isPressedKeyPillboxAddKey = isPressedKeyFN(['Enter', 'Comma', 'Space', 'Tab']);\nexport const isPressedKeyEnterOrSpace = isPressedKeyFN(['Enter', 'Space']);\nexport const isPressedKeyEscape = isPressedKeyFN(['Escape']);\nexport const isPressedKeyOneOf = keyList => isPressedKeyFN(keyList);\n\nexport const flattenOptions = options => options.reduce((flattenedOptions, option) => flattenedOptions.concat(option.type === 'group' ? flattenOptions(option.options) : [option]), []);\nexport const findOptionByValue = (value, options, allowEmpty = false) => {\n if (options.length === 0) {\n return;\n }\n\n const flattenedOptions = flattenOptions(options);\n const optionsHaveSomeDisabledOptions = flattenedOptions.some(option => option.disabled);\n const dropdownMayBeEmpty = allowEmpty || optionsHaveSomeDisabledOptions; // if options contain any disabled option treat like allowEmpty is true\n const sanitizedOptions = dropdownMayBeEmpty ? flattenedOptions.filter(option => !option.disabled) : flattenedOptions;\n\n if (!value) {\n return dropdownMayBeEmpty ? undefined : sanitizedOptions[0];\n }\n return sanitizedOptions.find(({ value: optionValue }) => optionValue === value);\n};\n\nexport const createFileMetadata = ({ name, type, size }, url) => {\n return {\n name, type, size, url\n };\n};\n\nexport const generateShortID = () => nanoid().split(/^\\d/).join('_');\n","import React, { useRef, useEffect } from 'react';\nimport {\n node, string, func, bool\n} from 'prop-types';\nimport ClipboardJS from 'clipboard';\nimport { isPressedKeyEnter } from '../../utils';\n\nconst CopyButton = ({\n children, textToCopy, onCopy, hideOnUnsupportedEnvironment, ...props\n}) => {\n const ref = useRef();\n useEffect(() => {\n if (ref.current) {\n const clipboard = new ClipboardJS(ref.current, { text: () => textToCopy });\n clipboard.on('success', e => onCopy(e, textToCopy));\n return () => clipboard.destroy();\n }\n }, [ref, textToCopy]);\n const isHidden = hideOnUnsupportedEnvironment && !ClipboardJS.isSupported();\n\n const handleKeyDown = e => isPressedKeyEnter(e) && ref.current.click(); // shitty clipboardJS, so workaround\n\n return !isHidden && (\n \n {children}\n
\n );\n};\n\nCopyButton.propTypes = {\n children: node.isRequired,\n textToCopy: string.isRequired,\n hideOnUnsupportedEnvironment: bool,\n onCopy: func\n};\n\nCopyButton.defaultProps = {\n onCopy: f => f,\n hideOnUnsupportedEnvironment: false\n};\n\nexport default CopyButton;\n","\n \n\n","import React, { useEffect, useState } from 'react';\nimport { t } from '@jotforminc/translation';\nimport { CopyButton } from '@jotforminc/uikit';\nimport { IconCopy } from '@jotforminc/svg-icons';\nimport { Button } from '@jotforminc/magnet';\nimport { useWizard } from '../hooks';\nimport { beautifedMarkup, createEmbed } from '../utils';\nimport { ALL_TEXTS } from '../constants';\n\nconst ShareStep = () => {\n const { state: { previewAgentId, customizations }, logJotformAction } = useWizard();\n\n const [showCopied, setShowCopied] = useState(false);\n const embedCode = createEmbed({ agentId: previewAgentId, ...customizations });\n\n useEffect(() => {\n logJotformAction({ action: 'seen', target: 'shareStep' });\n }, []);\n\n const handleCopy = () => {\n setShowCopied(true);\n setTimeout(() => { setShowCopied(false); }, 1000);\n logJotformAction({ action: 'click', target: 'copyEmbedButton' });\n };\n\n return (\n <>\n
\n

{t(ALL_TEXTS.SHARE_YOUR_AI_CHATBOT)}

\n

{t(ALL_TEXTS.PASTE_THE_CODE_WHERE_YOU_WANT)}

\n
\n
\n
\n \n {embedCode}\n \n
\n \n \n \n
\n \n );\n};\n\nexport default ShareStep;\n","import { AriaAttributes, MouseEvent } from 'react';\nimport { OffsetOptions, Placement } from '@floating-ui/react';\nimport { SketchPickerProps } from 'react-color';\nimport { Size, Theme } from '../../constants/common.types';\nimport { DataAttrs } from '../../types/system.types';\n\nexport type ColorPickerProps = {\n disabled?: boolean,\n size?: Size,\n rounded?: boolean,\n placement?: Placement,\n offset?: OffsetOptions,\n theme?: Theme,\n onChange?: (color: string) => void,\n color?: string,\n custom?: boolean,\n className?: string\n zIndex?: number,\n onClick?: (e: MouseEvent) => void,\n buttonAttrs?: DataAttrs & AriaAttributes & {\n id: string\n },\n pickerAttrs?: DataAttrs & AriaAttributes & {\n id?: string\n }\n} & Pick\n\nexport const colorPickerDefaultProps:Partial = {\n size: 'medium',\n placement: 'bottom-end',\n offset: 6,\n rounded: false,\n disableAlpha: false,\n theme: 'light',\n custom: false,\n zIndex: 1005\n};\n","import {\n ComponentPropsWithoutRef, ElementType, ReactNode\n} from 'react';\nimport { ForwardedComponentType } from '../../types/system.types';\nimport { FormControlContextType, commonInputDefaults } from '../../contexts';\nimport { BaseInputAddonDirection, BaseInputAddonVariant, Icon } from '../../constants/common.types';\nimport { ColorPickerProps, colorPickerDefaultProps } from '../ColorPicker/color-picker.types';\n\n// BaseInput & BaseInputAddon\nexport type NativeInputTypes = Omit, keyof FormControlContextType | 'prefix'>\nexport type CommonInputProps = FormControlContextType & NativeInputTypes & {\n ghost?: boolean\n};\n\ntype BaseInputOwnProps = {\n htmlSize?: number,\n addonStart?: ReactNode,\n addonEnd?: ReactNode,\n as?: 'input' | 'dropdown',\n expand?: boolean,\n useDefaultStyleInReadOnly?: boolean\n}\n\nexport type BaseInputProps = BaseInputOwnProps & CommonInputProps;\n\nexport type BaseInputAddonProps = Partial & {\n icon?: Icon,\n text?: string,\n direction?: BaseInputAddonDirection\n variant?: BaseInputAddonVariant,\n useInputColor?: boolean\n}\n\nexport type BaseInputAddonComponentType = ForwardedComponentType\n\nexport type AppendixType = {\n as?: ElementType\n icon?: Icon,\n text?: string,\n variant?: BaseInputAddonVariant,\n useInputColor?: boolean\n [otherProps: string]: unknown\n}\n\n// InputText\nexport type InputTextProps = CommonInputProps & {\n showLockIconInReadOnly?: boolean\n useDefaultStyleInReadOnly?: boolean\n prefix?: AppendixType\n suffix?: AppendixType\n}\n\n// InputNumber\nexport type InputNumberProps = Omit & {\n step?: number\n}\n\n// InputColor\nexport type InputColorProps = CommonInputProps & {\n pickerOptions?: Pick\n}\n\n// Defaults\nexport const baseInputDefaultProps:Partial = { ...commonInputDefaults, as: 'input' };\n\nconst appendixDefaults:AppendixType = {\n as: 'span',\n icon: undefined,\n text: undefined,\n variant: 'ghost'\n};\n\nexport const inputAddonDefaultProps:Partial = {\n ...commonInputDefaults,\n direction: 'start',\n variant: 'ghost'\n};\n\nexport const inputTextDefaultProps:Partial = {\n ...commonInputDefaults,\n showLockIconInReadOnly: true,\n prefix: appendixDefaults,\n suffix: appendixDefaults\n};\n\nexport const inputNumberDefaultProps:InputNumberProps = {\n ...commonInputDefaults,\n step: 1\n};\n\nconst {\n disableAlpha, presetColors, offset, placement, onSwatchHover\n}:InputColorProps['pickerOptions'] = colorPickerDefaultProps;\n\nexport const inputColorDefaultProps:InputColorProps = {\n ...commonInputDefaults,\n pickerOptions: {\n disableAlpha,\n presetColors,\n offset,\n placement,\n onSwatchHover\n }\n};\n","import { cva } from 'class-variance-authority';\nimport { CVAType } from '../../types/system.types';\nimport { primary, secondary } from '../../tokens/colors';\nimport { BaseInputAddonProps, BaseInputProps } from './input.types';\n\ntype BaseInputHelperTypes = {\n hasPlaceholder: boolean,\n hasChildren: boolean\n}\n\n// CVA Types\ntype BaseInputCVAType = CVAType & BaseInputHelperTypes>\ntype BaseInputContainerCVAType = CVAType>\ntype BaseInputAddonTextCVAType = CVAType>\ntype BaseInputAddonIconCVAType = CVAType>\ntype InputSpinButtonCVAType = CVAType>\n\n// Classes\nexport const baseInputContainerCVA = cva('', {\n variants: {\n size: {},\n expand: {},\n disabled: {},\n readOnly: {},\n as: {\n input: 'magnet-input-container',\n dropdown: 'magnet-dropdown items-center'\n }\n },\n compoundVariants: [\n {\n expand: false,\n size: 'small',\n className: 'h-8'\n },\n {\n expand: false,\n size: 'medium',\n className: 'h-10'\n },\n {\n expand: false,\n size: 'large',\n className: 'h-12'\n },\n {\n expand: true,\n size: 'small',\n className: 'min-h-8 py-1'\n },\n {\n expand: true,\n size: 'medium',\n className: 'min-h-10 py-1'\n },\n {\n expand: true,\n size: 'large',\n className: 'min-h-12 py-1.5'\n },\n {\n disabled: true,\n as: 'dropdown',\n className: 'cursor-not-allowed'\n },\n {\n disabled: false,\n readOnly: false,\n as: 'dropdown',\n className: 'cursor-pointer'\n }\n ]\n});\n\nexport const baseInputCVA = cva('', {\n variants: {\n size: {\n small: 'px-2',\n medium: 'px-3',\n large: 'px-3'\n },\n as: {\n input: 'magnet-input h-full color-current',\n dropdown: 'truncate'\n },\n hasPlaceholder: {},\n hasChildren: {},\n theme: {}\n },\n compoundVariants: [\n {\n hasPlaceholder: true,\n hasChildren: false,\n as: 'dropdown',\n theme: 'light',\n className: 'color-navy-200'\n },\n {\n hasPlaceholder: true,\n hasChildren: false,\n as: 'dropdown',\n theme: 'dark',\n className: secondary.text.light.base\n }\n ]\n});\n\nexport const baseInputAddon = {\n textCVA: cva('flex shrink-0 items-center', {\n variants: {\n size: {\n small: 'gap-2 text-sm',\n medium: 'gap-3 text-sm',\n large: 'gap-3 text-md'\n },\n theme: {},\n readOnly: {},\n disabled: {},\n direction: {},\n variant: {},\n useInputColor: {}\n },\n compoundVariants: [\n {\n direction: 'start',\n className: 'radius-l'\n },\n {\n direction: 'end',\n className: 'radius-r'\n },\n {\n useInputColor: false,\n theme: 'light',\n className: primary.text.medium.base\n },\n {\n useInputColor: false,\n theme: 'dark',\n className: 'color-gray-200'\n },\n {\n direction: 'start',\n variant: 'ghost',\n size: 'small',\n className: 'pl-2'\n },\n {\n direction: 'start',\n variant: 'ghost',\n size: ['medium', 'large'],\n className: 'pl-3'\n },\n {\n direction: 'end',\n variant: 'ghost',\n size: 'small',\n className: 'pr-2'\n },\n {\n direction: 'end',\n variant: 'ghost',\n size: ['medium', 'large'],\n className: 'pr-3'\n },\n {\n variant: 'filled',\n size: 'small',\n className: 'px-2'\n },\n {\n variant: 'filled',\n size: ['medium', 'large'],\n className: 'px-3'\n },\n {\n variant: 'filled',\n readOnly: false,\n disabled: false,\n theme: 'light',\n className: 'bg-navy-25'\n },\n {\n variant: 'filled',\n readOnly: true,\n disabled: false,\n theme: 'light',\n className: 'bg-navy-50'\n },\n {\n variant: 'filled',\n readOnly: false,\n disabled: true,\n theme: 'light',\n className: 'bg-navy-100'\n },\n {\n variant: 'filled',\n theme: 'dark',\n className: 'bg-gray-400 bg-opacity-50'\n }\n ]\n }),\n iconCVA: cva('shrink-0', {\n variants: {\n size: {\n small: 'w-4',\n medium: 'w-5',\n large: 'w-6'\n }\n }\n })\n};\n\nexport const numberSpinButtonCVA = cva('flex shrink-0 grow-1 justify-center items-center', {\n variants: {\n theme: {},\n readOnly: {},\n disabled: {}\n },\n compoundVariants: [\n {\n theme: 'light',\n disabled: false,\n readOnly: false,\n className: [primary.text.dark.base, 'bg-navy-10']\n },\n {\n theme: 'light',\n readOnly: true,\n disabled: false,\n className: 'color-navy-200 bg-navy-75'\n },\n {\n theme: 'light',\n readOnly: false,\n disabled: true,\n className: 'color-navy-200 bg-navy-75'\n },\n {\n theme: 'dark',\n className: 'bg-gray-400'\n },\n {\n theme: 'dark',\n readOnly: true,\n className: 'color-gray-300'\n },\n {\n theme: 'dark',\n disabled: true,\n className: 'color-gray-300'\n }\n ]\n});\n","import React, { ComponentPropsWithRef, ElementType, forwardRef } from 'react';\nimport { cx } from 'class-variance-authority';\nimport {\n BaseInputAddonComponentType,\n BaseInputAddonProps, BaseInputProps, baseInputDefaultProps, inputAddonDefaultProps\n} from './input.types';\nimport { baseInputAddon, baseInputContainerCVA, baseInputCVA } from './input.cva';\nimport { PolymorphicProps } from '../../types';\n\nimport '@jotforminc/jotform.css';\nimport { commonFormControlCVA } from '../../constants/common.cva';\n\nexport const BaseInput = forwardRef((\n props: BaseInputProps,\n ref?: ComponentPropsWithRef<'input'>['ref']\n):JSX.Element => {\n const {\n colorStyle,\n size,\n disabled,\n theme,\n readOnly,\n htmlSize,\n id,\n className,\n addonStart,\n addonEnd,\n required,\n ghost,\n as = 'input',\n expand = false,\n value,\n children,\n placeholder,\n useDefaultStyleInReadOnly,\n ...rest\n } = props;\n\n const handleFocus = (e: React.MouseEvent) => {\n const element = e.target as HTMLElement;\n if (element.tagName === 'BUTTON' || element.tagName === 'LABEL' || element.tagName === 'INPUT') return;\n\n const input = e?.currentTarget?.getElementsByTagName('input')[0];\n input?.focus();\n };\n\n const readOnlyVariant = (readOnly && !disabled) && !useDefaultStyleInReadOnly;\n\n const baseInputContainerClassName = cx(\n className,\n commonFormControlCVA.container({\n colorStyle,\n readOnly: readOnlyVariant,\n disabled: !!disabled,\n theme,\n ghost: !!ghost\n }),\n baseInputContainerCVA({\n size, as, expand, disabled: !!disabled, readOnly: !!readOnly\n })\n );\n\n const baseInputClassName = cx(\n commonFormControlCVA.input({\n disabled,\n theme,\n size,\n ghost: !!ghost\n }),\n baseInputCVA({\n size,\n as,\n hasPlaceholder: !!placeholder,\n hasChildren: !!children,\n theme\n })\n );\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n \n {addonStart}\n {as === 'input'\n && (\n \n )}\n {as === 'dropdown' && {children ?? placeholder}}\n {addonEnd}\n
\n );\n});\n\nBaseInput.defaultProps = baseInputDefaultProps;\n\nexport const BaseInputAddon:BaseInputAddonComponentType = forwardRef(\n (\n props: PolymorphicProps,\n ref?: ComponentPropsWithRef['ref']\n ):JSX.Element => {\n const {\n size = inputAddonDefaultProps.size,\n theme = inputAddonDefaultProps.theme,\n direction = inputAddonDefaultProps.direction,\n variant = inputAddonDefaultProps.variant,\n disabled = inputAddonDefaultProps.disabled,\n readOnly = inputAddonDefaultProps.readOnly,\n as = 'span',\n useInputColor,\n id,\n icon: Icon,\n text,\n htmlFor,\n ...rest\n } = props;\n\n if (!Icon && !text) return <>;\n\n const addonContainerClassName = cx(baseInputAddon.textCVA({\n size,\n theme,\n direction,\n variant,\n readOnly: !!readOnly,\n disabled: !!disabled,\n useInputColor: !!useInputColor\n }));\n\n const addonIconClassName = baseInputAddon.iconCVA({ size });\n const Component = as;\n\n return (\n \n {direction === 'start'\n && (\n <>\n {Icon && }\n {text && text}\n \n )}\n {direction === 'end'\n && (\n <>\n {text && text}\n {Icon && }\n \n )}\n \n );\n }\n);\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n return [':popover-open', ':modal'].some(selector => {\n try {\n return element.matches(selector);\n } catch (e) {\n return false;\n }\n });\n}\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { isShadowRoot, isHTMLElement } from '@floating-ui/utils/dom';\n\nfunction activeElement(doc) {\n let activeElement = doc.activeElement;\n while (((_activeElement = activeElement) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {\n var _activeElement;\n activeElement = activeElement.shadowRoot.activeElement;\n }\n return activeElement;\n}\nfunction contains(parent, child) {\n if (!parent || !child) {\n return false;\n }\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n\n // then fallback to custom implementation with Shadow DOM support\n if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) {\n return true;\n }\n // @ts-ignore\n next = next.parentNode || next.host;\n }\n }\n\n // Give up, the result is false\n return false;\n}\n// Avoid Chrome DevTools blue warning.\nfunction getPlatform() {\n const uaData = navigator.userAgentData;\n if (uaData != null && uaData.platform) {\n return uaData.platform;\n }\n return navigator.platform;\n}\nfunction getUserAgent() {\n const uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n return uaData.brands.map(_ref => {\n let {\n brand,\n version\n } = _ref;\n return brand + \"/\" + version;\n }).join(' ');\n }\n return navigator.userAgent;\n}\n\n// License: https://github.com/adobe/react-spectrum/blob/b35d5c02fe900badccd0cf1a8f23bb593419f238/packages/@react-aria/utils/src/isVirtualEvent.ts\nfunction isVirtualClick(event) {\n // FIXME: Firefox is now emitting a deprecation warning for `mozInputSource`.\n // Try to find a workaround for this. `react-aria` source still has the check.\n if (event.mozInputSource === 0 && event.isTrusted) {\n return true;\n }\n if (isAndroid() && event.pointerType) {\n return event.type === 'click' && event.buttons === 1;\n }\n return event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n if (isJSDOM()) return false;\n return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse' ||\n // iOS VoiceOver returns 0.333• for width/height.\n event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'touch';\n}\nfunction isSafari() {\n // Chrome DevTools does not complain about navigator.vendor\n return /apple/i.test(navigator.vendor);\n}\nfunction isAndroid() {\n const re = /android/i;\n return re.test(getPlatform()) || re.test(getUserAgent());\n}\nfunction isMac() {\n return getPlatform().toLowerCase().startsWith('mac') && !navigator.maxTouchPoints;\n}\nfunction isJSDOM() {\n return getUserAgent().includes('jsdom/');\n}\nfunction isMouseLikePointerType(pointerType, strict) {\n // On some Linux machines with Chromium, mouse inputs return a `pointerType`\n // of \"pen\": https://github.com/floating-ui/floating-ui/issues/2015\n const values = ['mouse', 'pen'];\n if (!strict) {\n values.push('', undefined);\n }\n return values.includes(pointerType);\n}\nfunction isReactEvent(event) {\n return 'nativeEvent' in event;\n}\nfunction isRootElement(element) {\n return element.matches('html,body');\n}\nfunction getDocument(node) {\n return (node == null ? void 0 : node.ownerDocument) || document;\n}\nfunction isEventTargetWithin(event, node) {\n if (node == null) {\n return false;\n }\n if ('composedPath' in event) {\n return event.composedPath().includes(node);\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't\n const e = event;\n return e.target != null && node.contains(e.target);\n}\nfunction getTarget(event) {\n if ('composedPath' in event) {\n return event.composedPath()[0];\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support\n // `composedPath()`, but browsers without shadow DOM don't.\n return event.target;\n}\nconst TYPEABLE_SELECTOR = \"input:not([type='hidden']):not([disabled]),\" + \"[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";\nfunction isTypeableElement(element) {\n return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\nfunction stopEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction isTypeableCombobox(element) {\n if (!element) return false;\n return element.getAttribute('role') === 'combobox' && isTypeableElement(element);\n}\n\nexport { TYPEABLE_SELECTOR, activeElement, contains, getDocument, getPlatform, getTarget, getUserAgent, isAndroid, isEventTargetWithin, isJSDOM, isMac, isMouseLikePointerType, isReactEvent, isRootElement, isSafari, isTypeableCombobox, isTypeableElement, isVirtualClick, isVirtualPointerEvent, stopEvent };\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","import { rectToClientRect, detectOverflow as detectOverflow$1, offset as offset$1, autoPlacement as autoPlacement$1, shift as shift$1, flip as flip$1, size as size$1, hide as hide$1, arrow as arrow$1, inline as inline$1, limitShift as limitShift$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getNodeScroll, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// If has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n ...clippingAncestor,\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n // If the scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n let htmlX = 0;\n let htmlY = 0;\n if (documentElement && !isOffsetParentAnElement && !isFixed) {\n const htmlRect = documentElement.getBoundingClientRect();\n htmlY = htmlRect.top + scroll.scrollTop;\n htmlX = htmlRect.left + scroll.scrollLeft -\n // RTL scrollbar.\n getWindowScrollBarX(documentElement, htmlRect);\n }\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlX;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlY;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the element as the offsetParent if it's non-static,\n // while Chrome and Safari return the element. The element must\n // be used to perform the correct calculations even if the element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const {\n left,\n top,\n width,\n height\n } = element.getBoundingClientRect();\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle