{"version":3,"file":"zh-yX_Y9_aD.js","sources":["../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs","../../../node_modules/uuid/dist/esm-browser/rng.js","../../../node_modules/uuid/dist/esm-browser/stringify.js","../../../node_modules/uuid/dist/esm-browser/native.js","../../../node_modules/uuid/dist/esm-browser/v4.js","../../../node_modules/diacritics/index.js","../../../node_modules/i18n-iso-countries/index.js"],"sourcesContent":["/**\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 as t,computePosition as e}from\"@floating-ui/core\";export{arrow,autoPlacement,detectOverflow,flip,hide,inline,limitShift,offset,shift,size}from\"@floating-ui/core\";function n(t){var e;return(null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function o(t){return n(t).getComputedStyle(t)}const i=Math.min,r=Math.max,l=Math.round;function c(t){const e=o(t);let n=parseFloat(e.width),i=parseFloat(e.height);const r=t.offsetWidth,c=t.offsetHeight,s=l(n)!==r||l(i)!==c;return s&&(n=r,i=c),{width:n,height:i,fallback:s}}function s(t){return h(t)?(t.nodeName||\"\").toLowerCase():\"\"}let f;function u(){if(f)return f;const t=navigator.userAgentData;return t&&Array.isArray(t.brands)?(f=t.brands.map((t=>t.brand+\"/\"+t.version)).join(\" \"),f):navigator.userAgent}function a(t){return t instanceof n(t).HTMLElement}function d(t){return t instanceof n(t).Element}function h(t){return t instanceof n(t).Node}function p(t){if(\"undefined\"==typeof ShadowRoot)return!1;return t instanceof n(t).ShadowRoot||t instanceof ShadowRoot}function g(t){const{overflow:e,overflowX:n,overflowY:i,display:r}=o(t);return/auto|scroll|overlay|hidden|clip/.test(e+i+n)&&![\"inline\",\"contents\"].includes(r)}function m(t){return[\"table\",\"td\",\"th\"].includes(s(t))}function y(t){const e=/firefox/i.test(u()),n=o(t),i=n.backdropFilter||n.WebkitBackdropFilter;return\"none\"!==n.transform||\"none\"!==n.perspective||!!i&&\"none\"!==i||e&&\"filter\"===n.willChange||e&&!!n.filter&&\"none\"!==n.filter||[\"transform\",\"perspective\"].some((t=>n.willChange.includes(t)))||[\"paint\",\"layout\",\"strict\",\"content\"].some((t=>{const e=n.contain;return null!=e&&e.includes(t)}))}function x(){return!/^((?!chrome|android).)*safari/i.test(u())}function w(t){return[\"html\",\"body\",\"#document\"].includes(s(t))}function v(t){return d(t)?t:t.contextElement}const b={x:1,y:1};function L(t){const e=v(t);if(!a(e))return b;const n=e.getBoundingClientRect(),{width:o,height:i,fallback:r}=c(e);let s=(r?l(n.width):n.width)/o,f=(r?l(n.height):n.height)/i;return s&&Number.isFinite(s)||(s=1),f&&Number.isFinite(f)||(f=1),{x:s,y:f}}function E(t,e,o,i){var r,l;void 0===e&&(e=!1),void 0===o&&(o=!1);const c=t.getBoundingClientRect(),s=v(t);let f=b;e&&(i?d(i)&&(f=L(i)):f=L(t));const u=s?n(s):window,a=!x()&&o;let h=(c.left+(a&&(null==(r=u.visualViewport)?void 0:r.offsetLeft)||0))/f.x,p=(c.top+(a&&(null==(l=u.visualViewport)?void 0:l.offsetTop)||0))/f.y,g=c.width/f.x,m=c.height/f.y;if(s){const t=n(s),e=i&&d(i)?n(i):i;let o=t.frameElement;for(;o&&i&&e!==t;){const t=L(o),e=o.getBoundingClientRect(),i=getComputedStyle(o);e.x+=(o.clientLeft+parseFloat(i.paddingLeft))*t.x,e.y+=(o.clientTop+parseFloat(i.paddingTop))*t.y,h*=t.x,p*=t.y,g*=t.x,m*=t.y,h+=e.x,p+=e.y,o=n(o).frameElement}}return{width:g,height:m,top:p,right:h+g,bottom:p+m,left:h,x:h,y:p}}function R(t){return((h(t)?t.ownerDocument:t.document)||window.document).documentElement}function T(t){return d(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function C(t){return E(R(t)).left+T(t).scrollLeft}function F(t){if(\"html\"===s(t))return t;const e=t.assignedSlot||t.parentNode||p(t)&&t.host||R(t);return p(e)?e.host:e}function W(t){const e=F(t);return w(e)?e.ownerDocument.body:a(e)&&g(e)?e:W(e)}function D(t,e){var o;void 0===e&&(e=[]);const i=W(t),r=i===(null==(o=t.ownerDocument)?void 0:o.body),l=n(i);return r?e.concat(l,l.visualViewport||[],g(i)?i:[]):e.concat(i,D(i))}function S(e,i,l){return\"viewport\"===i?t(function(t,e){const o=n(t),i=R(t),r=o.visualViewport;let l=i.clientWidth,c=i.clientHeight,s=0,f=0;if(r){l=r.width,c=r.height;const t=x();(t||!t&&\"fixed\"===e)&&(s=r.offsetLeft,f=r.offsetTop)}return{width:l,height:c,x:s,y:f}}(e,l)):d(i)?t(function(t,e){const n=E(t,!0,\"fixed\"===e),o=n.top+t.clientTop,i=n.left+t.clientLeft,r=a(t)?L(t):{x:1,y:1};return{width:t.clientWidth*r.x,height:t.clientHeight*r.y,x:i*r.x,y:o*r.y}}(i,l)):t(function(t){const e=R(t),n=T(t),i=t.ownerDocument.body,l=r(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),c=r(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight);let s=-n.scrollLeft+C(t);const f=-n.scrollTop;return\"rtl\"===o(i).direction&&(s+=r(e.clientWidth,i.clientWidth)-l),{width:l,height:c,x:s,y:f}}(R(e)))}function A(t){return a(t)&&\"fixed\"!==o(t).position?t.offsetParent:null}function H(t){const e=n(t);let i=A(t);for(;i&&m(i)&&\"static\"===o(i).position;)i=A(i);return i&&(\"html\"===s(i)||\"body\"===s(i)&&\"static\"===o(i).position&&!y(i))?e:i||function(t){let e=F(t);for(;a(e)&&!w(e);){if(y(e))return e;e=F(e)}return null}(t)||e}function O(t,e,n){const o=a(e),i=R(e),r=E(t,!0,\"fixed\"===n,e);let l={scrollLeft:0,scrollTop:0};const c={x:0,y:0};if(o||!o&&\"fixed\"!==n)if((\"body\"!==s(e)||g(i))&&(l=T(e)),a(e)){const t=E(e,!0);c.x=t.x+e.clientLeft,c.y=t.y+e.clientTop}else i&&(c.x=C(i));return{x:r.left+l.scrollLeft-c.x,y:r.top+l.scrollTop-c.y,width:r.width,height:r.height}}const P={getClippingRect:function(t){let{element:e,boundary:n,rootBoundary:l,strategy:c}=t;const f=\"clippingAncestors\"===n?function(t,e){const n=e.get(t);if(n)return n;let i=D(t).filter((t=>d(t)&&\"body\"!==s(t))),r=null;const l=\"fixed\"===o(t).position;let c=l?F(t):t;for(;d(c)&&!w(c);){const t=o(c),e=y(c);(l?e||r:e||\"static\"!==t.position||!r||![\"absolute\",\"fixed\"].includes(r.position))?r=t:i=i.filter((t=>t!==c)),c=F(c)}return e.set(t,i),i}(e,this._c):[].concat(n),u=[...f,l],a=u[0],h=u.reduce(((t,n)=>{const o=S(e,n,c);return t.top=r(o.top,t.top),t.right=i(o.right,t.right),t.bottom=i(o.bottom,t.bottom),t.left=r(o.left,t.left),t}),S(e,a,c));return{width:h.right-h.left,height:h.bottom-h.top,x:h.left,y:h.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{rect:e,offsetParent:n,strategy:o}=t;const i=a(n),r=R(n);if(n===r)return e;let l={scrollLeft:0,scrollTop:0},c={x:1,y:1};const f={x:0,y:0};if((i||!i&&\"fixed\"!==o)&&((\"body\"!==s(n)||g(r))&&(l=T(n)),a(n))){const t=E(n);c=L(n),f.x=t.x+n.clientLeft,f.y=t.y+n.clientTop}return{width:e.width*c.x,height:e.height*c.y,x:e.x*c.x-l.scrollLeft*c.x+f.x,y:e.y*c.y-l.scrollTop*c.y+f.y}},isElement:d,getDimensions:function(t){return a(t)?c(t):t.getBoundingClientRect()},getOffsetParent:H,getDocumentElement:R,getScale:L,async getElementRects(t){let{reference:e,floating:n,strategy:o}=t;const i=this.getOffsetParent||H,r=this.getDimensions;return{reference:O(e,await i(n),o),floating:{x:0,y:0,...await r(n)}}},getClientRects:t=>Array.from(t.getClientRects()),isRTL:t=>\"rtl\"===o(t).direction};function z(t,e,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:l=!0,animationFrame:c=!1}=o,s=i&&!c,f=s||r?[...d(t)?D(t):t.contextElement?D(t.contextElement):[],...D(e)]:[];f.forEach((t=>{s&&t.addEventListener(\"scroll\",n,{passive:!0}),r&&t.addEventListener(\"resize\",n)}));let u,a=null;if(l){let o=!0;a=new ResizeObserver((()=>{o||n(),o=!1})),d(t)&&!c&&a.observe(t),d(t)||!t.contextElement||c||a.observe(t.contextElement),a.observe(e)}let h=c?E(t):null;return c&&function e(){const o=E(t);!h||o.x===h.x&&o.y===h.y&&o.width===h.width&&o.height===h.height||n();h=o,u=requestAnimationFrame(e)}(),n(),()=>{var t;f.forEach((t=>{s&&t.removeEventListener(\"scroll\",n),r&&t.removeEventListener(\"resize\",n)})),null==(t=a)||t.disconnect(),a=null,c&&cancelAnimationFrame(u)}}const B=(t,n,o)=>{const i=new Map,r={platform:P,...o},l={...r.platform,_c:i};return e(t,n,{...r,platform:l})};export{z as autoUpdate,B as computePosition,D as getOverflowAncestors,P as platform};\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","exports.remove = removeDiacritics;\n\nvar replacementList = [\n {\n base: ' ',\n chars: \"\\u00A0\",\n }, {\n base: '0',\n chars: \"\\u07C0\",\n }, {\n base: 'A',\n chars: \"\\u24B6\\uFF21\\u00C0\\u00C1\\u00C2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\u00C3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\u00C4\\u01DE\\u1EA2\\u00C5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F\",\n }, {\n base: 'AA',\n chars: \"\\uA732\",\n }, {\n base: 'AE',\n chars: \"\\u00C6\\u01FC\\u01E2\",\n }, {\n base: 'AO',\n chars: \"\\uA734\",\n }, {\n base: 'AU',\n chars: \"\\uA736\",\n }, {\n base: 'AV',\n chars: \"\\uA738\\uA73A\",\n }, {\n base: 'AY',\n chars: \"\\uA73C\",\n }, {\n base: 'B',\n chars: \"\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0181\",\n }, {\n base: 'C',\n chars: \"\\u24b8\\uff23\\uA73E\\u1E08\\u0106\\u0043\\u0108\\u010A\\u010C\\u00C7\\u0187\\u023B\",\n }, {\n base: 'D',\n chars: \"\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018A\\u0189\\u1D05\\uA779\",\n }, {\n base: 'Dh',\n chars: \"\\u00D0\",\n }, {\n base: 'DZ',\n chars: \"\\u01F1\\u01C4\",\n }, {\n base: 'Dz',\n chars: \"\\u01F2\\u01C5\",\n }, {\n base: 'E',\n chars: \"\\u025B\\u24BA\\uFF25\\u00C8\\u00C9\\u00CA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\u00CB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E\\u1D07\",\n }, {\n base: 'F',\n chars: \"\\uA77C\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B\",\n }, {\n base: 'G',\n chars: \"\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E\\u0262\",\n }, {\n base: 'H',\n chars: \"\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D\",\n }, {\n base: 'I',\n chars: \"\\u24BE\\uFF29\\xCC\\xCD\\xCE\\u0128\\u012A\\u012C\\u0130\\xCF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197\",\n }, {\n base: 'J',\n chars: \"\\u24BF\\uFF2A\\u0134\\u0248\\u0237\",\n }, {\n base: 'K',\n chars: \"\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2\",\n }, {\n base: 'L',\n chars: \"\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780\",\n }, {\n base: 'LJ',\n chars: \"\\u01C7\",\n }, {\n base: 'Lj',\n chars: \"\\u01C8\",\n }, {\n base: 'M',\n chars: \"\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C\\u03FB\",\n }, {\n base: 'N',\n chars: \"\\uA7A4\\u0220\\u24C3\\uFF2E\\u01F8\\u0143\\xD1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u019D\\uA790\\u1D0E\",\n }, {\n base: 'NJ',\n chars: \"\\u01CA\",\n }, {\n base: 'Nj',\n chars: \"\\u01CB\",\n }, {\n base: 'O',\n chars: \"\\u24C4\\uFF2F\\xD2\\xD3\\xD4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\xD5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\xD6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\xD8\\u01FE\\u0186\\u019F\\uA74A\\uA74C\",\n }, {\n base: 'OE',\n chars: \"\\u0152\",\n }, {\n base: 'OI',\n chars: \"\\u01A2\",\n }, {\n base: 'OO',\n chars: \"\\uA74E\",\n }, {\n base: 'OU',\n chars: \"\\u0222\",\n }, {\n base: 'P',\n chars: \"\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754\",\n }, {\n base: 'Q',\n chars: \"\\u24C6\\uFF31\\uA756\\uA758\\u024A\",\n }, {\n base: 'R',\n chars: \"\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782\",\n }, {\n base: 'S',\n chars: \"\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784\",\n }, {\n base: 'T',\n chars: \"\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786\",\n }, {\n base: 'Th',\n chars: \"\\u00DE\",\n }, {\n base: 'TZ',\n chars: \"\\uA728\",\n }, {\n base: 'U',\n chars: \"\\u24CA\\uFF35\\xD9\\xDA\\xDB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\xDC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244\",\n }, {\n base: 'V',\n chars: \"\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245\",\n }, {\n base: 'VY',\n chars: \"\\uA760\",\n }, {\n base: 'W',\n chars: \"\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72\",\n }, {\n base: 'X',\n chars: \"\\u24CD\\uFF38\\u1E8A\\u1E8C\",\n }, {\n base: 'Y',\n chars: \"\\u24CE\\uFF39\\u1EF2\\xDD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE\",\n }, {\n base: 'Z',\n chars: \"\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762\",\n }, {\n base: 'a',\n chars: \"\\u24D0\\uFF41\\u1E9A\\u00E0\\u00E1\\u00E2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\u00E3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\u00E4\\u01DF\\u1EA3\\u00E5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250\\u0251\",\n }, {\n base: 'aa',\n chars: \"\\uA733\",\n }, {\n base: 'ae',\n chars: \"\\u00E6\\u01FD\\u01E3\",\n }, {\n base: 'ao',\n chars: \"\\uA735\",\n }, {\n base: 'au',\n chars: \"\\uA737\",\n }, {\n base: 'av',\n chars: \"\\uA739\\uA73B\",\n }, {\n base: 'ay',\n chars: \"\\uA73D\",\n }, {\n base: 'b',\n chars: \"\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253\\u0182\",\n }, {\n base: 'c',\n chars: \"\\uFF43\\u24D2\\u0107\\u0109\\u010B\\u010D\\u00E7\\u1E09\\u0188\\u023C\\uA73F\\u2184\",\n }, {\n base: 'd',\n chars: \"\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\u018B\\u13E7\\u0501\\uA7AA\",\n }, {\n base: 'dh',\n chars: \"\\u00F0\",\n }, {\n base: 'dz',\n chars: \"\\u01F3\\u01C6\",\n }, {\n base: 'e',\n chars: \"\\u24D4\\uFF45\\u00E8\\u00E9\\u00EA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\u00EB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u01DD\",\n }, {\n base: 'f',\n chars: \"\\u24D5\\uFF46\\u1E1F\\u0192\",\n }, {\n base: 'ff',\n chars: \"\\uFB00\",\n }, {\n base: 'fi',\n chars: \"\\uFB01\",\n }, {\n base: 'fl',\n chars: \"\\uFB02\",\n }, {\n base: 'ffi',\n chars: \"\\uFB03\",\n }, {\n base: 'ffl',\n chars: \"\\uFB04\",\n }, {\n base: 'g',\n chars: \"\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\uA77F\\u1D79\",\n }, {\n base: 'h',\n chars: \"\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265\",\n }, {\n base: 'hv',\n chars: \"\\u0195\",\n }, {\n base: 'i',\n chars: \"\\u24D8\\uFF49\\xEC\\xED\\xEE\\u0129\\u012B\\u012D\\xEF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131\",\n }, {\n base: 'j',\n chars: \"\\u24D9\\uFF4A\\u0135\\u01F0\\u0249\",\n }, {\n base: 'k',\n chars: \"\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3\",\n }, {\n base: 'l',\n chars: \"\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747\\u026D\",\n }, {\n base: 'lj',\n chars: \"\\u01C9\",\n }, {\n base: 'm',\n chars: \"\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F\",\n }, {\n base: 'n',\n chars: \"\\u24DD\\uFF4E\\u01F9\\u0144\\xF1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5\\u043B\\u0509\",\n }, {\n base: 'nj',\n chars: \"\\u01CC\",\n }, {\n base: 'o',\n chars: \"\\u24DE\\uFF4F\\xF2\\xF3\\xF4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\xF5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\xF6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\xF8\\u01FF\\uA74B\\uA74D\\u0275\\u0254\\u1D11\",\n }, {\n base: 'oe',\n chars: \"\\u0153\",\n }, {\n base: 'oi',\n chars: \"\\u01A3\",\n }, {\n base: 'oo',\n chars: \"\\uA74F\",\n }, {\n base: 'ou',\n chars: \"\\u0223\",\n }, {\n base: 'p',\n chars: \"\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755\\u03C1\",\n }, {\n base: 'q',\n chars: \"\\u24E0\\uFF51\\u024B\\uA757\\uA759\",\n }, {\n base: 'r',\n chars: \"\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783\",\n }, {\n base: 's',\n chars: \"\\u24E2\\uFF53\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B\\u0282\",\n }, {\n base: 'ss',\n chars: \"\\xDF\",\n }, {\n base: 't',\n chars: \"\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787\",\n }, {\n base: 'th',\n chars: \"\\u00FE\",\n }, {\n base: 'tz',\n chars: \"\\uA729\",\n }, {\n base: 'u',\n chars: \"\\u24E4\\uFF55\\xF9\\xFA\\xFB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\xFC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289\",\n }, {\n base: 'v',\n chars: \"\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C\",\n }, {\n base: 'vy',\n chars: \"\\uA761\",\n }, {\n base: 'w',\n chars: \"\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73\",\n }, {\n base: 'x',\n chars: \"\\u24E7\\uFF58\\u1E8B\\u1E8D\",\n }, {\n base: 'y',\n chars: \"\\u24E8\\uFF59\\u1EF3\\xFD\\u0177\\u1EF9\\u0233\\u1E8F\\xFF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF\",\n }, {\n base: 'z',\n chars: \"\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763\",\n }\n];\n\nvar diacriticsMap = {};\nfor (var i = 0; i < replacementList.length; i += 1) {\n var chars = replacementList[i].chars;\n for (var j = 0; j < chars.length; j += 1) {\n diacriticsMap[chars[j]] = replacementList[i].base;\n }\n}\n\nfunction removeDiacritics(str) {\n return str.replace(/[^\\u0000-\\u007e]/g, function(c) {\n return diacriticsMap[c] || c;\n });\n}\n\nexports.replacementList = replacementList;\nexports.diacriticsMap = diacriticsMap;\n","\"use strict\";\n\nconst codes = require(\"./codes.json\");\nconst supportedLocales = require(\"./supportedLocales.json\");\nconst removeDiacritics = require(\"diacritics\").remove;\nconst registeredLocales = {};\n\n/*\n * All codes map to ISO 3166-1 alpha-2\n */\nconst alpha2 = {},\n alpha3 = {},\n numeric = {},\n invertedNumeric = {};\n\ncodes.forEach(function (codeInformation) {\n const s = codeInformation;\n alpha2[s[0]] = s[1];\n alpha3[s[1]] = s[0];\n numeric[s[2]] = s[0];\n invertedNumeric[s[0]] = s[2];\n});\n\n/**\n * @private\n * @param {number} code\n */\nfunction formatNumericCode(code) {\n return String(\"000\" + (code ? code : \"\")).slice(-3);\n}\n\n/**\n * @private\n * Avoid using obj.hasOwnProperty directly as `hasOwnProperty` could be a\n * property in itself ({ hasOwnProperty: 1 }) and cause weird bugs\n * https://eslint.org/docs/rules/no-prototype-builtins\n */\nfunction hasOwnProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\n/**\n * @private\n * Pass localeList through a filter and return a newLocaleList obj\n * with the same structure of the old localeList.\n *\n * @param {LocalizedCountryNames} localeList Local List in raw\n * @param {Function} filter callback to set filter rule\n * @return {String | String[]} new filtered Local List\n */\nfunction localeFilter(localeList, filter) {\n return Object.keys(localeList).reduce(function (newLocaleList, alpha2) {\n const nameList = localeList[alpha2];\n newLocaleList[alpha2] = filter(nameList, alpha2);\n return newLocaleList;\n }, {});\n}\n\n/**\n * @private\n * Preserve for getName & getNames\n *\n * @param {GetNameOptions.select} type all | official | alias\n * @param countryNameList string array of country's\n * official name and alias\n * @return {String | String[]} of a country name\n */\nfunction filterNameBy(type, countryNameList) {\n switch (type) {\n case \"official\":\n return Array.isArray(countryNameList)\n ? countryNameList[0]\n : countryNameList;\n\n case \"all\":\n return typeof countryNameList === \"string\"\n ? [countryNameList]\n : countryNameList;\n\n case \"alias\":\n return Array.isArray(countryNameList)\n ? countryNameList[1] || countryNameList[0]\n : countryNameList;\n\n default:\n throw new TypeError(\n \"LocaleNameType must be one of these: all, official, alias!\"\n );\n }\n}\n\n/**\n * Register countries in browsers' environment:\n * @param {object} localeData\n * @example countries.registerLocale(require(\"i18n-iso-countries/langs/en.json\"));\n * @return void\n */\nexports.registerLocale = function (localeData) {\n if (!localeData.locale) {\n throw new TypeError(\"Missing localeData.locale\");\n }\n\n if (!localeData.countries) {\n throw new TypeError(\"Missing localeData.countries\");\n }\n\n registeredLocales[localeData.locale] = localeData.countries;\n};\n\n/*\n * @param code Alpha-3 code\n * @return Alpha-2 code or undefined\n */\nfunction alpha3ToAlpha2(code) {\n return alpha3[code];\n}\nexports.alpha3ToAlpha2 = alpha3ToAlpha2;\n\n/*\n * @param code Alpha-2 code\n * @return Alpha-3 code or undefined\n */\nfunction alpha2ToAlpha3(code) {\n return alpha2[code];\n}\nexports.alpha2ToAlpha3 = alpha2ToAlpha3;\n\n/*\n * @param code Alpha-3 code\n * @return Numeric code or undefined\n */\nfunction alpha3ToNumeric(code) {\n return invertedNumeric[alpha3ToAlpha2(code)];\n}\nexports.alpha3ToNumeric = alpha3ToNumeric;\n\n/*\n * @param code Alpha-2 code\n * @return Numeric code or undefined\n */\nfunction alpha2ToNumeric(code) {\n return invertedNumeric[code];\n}\nexports.alpha2ToNumeric = alpha2ToNumeric;\n\n/*\n * @param code Numeric code\n * @return Alpha-3 code or undefined\n */\nfunction numericToAlpha3(code) {\n const padded = formatNumericCode(code);\n return alpha2ToAlpha3(numeric[padded]);\n}\nexports.numericToAlpha3 = numericToAlpha3;\n\n/*\n * @param code Numeric code\n * @return Alpha-2 code or undefined\n */\nfunction numericToAlpha2(code) {\n const padded = formatNumericCode(code);\n return numeric[padded];\n}\nexports.numericToAlpha2 = numericToAlpha2;\n\n/*\n * @param code ISO 3166-1 alpha-2, alpha-3 or numeric code\n * @return ISO 3166-1 alpha-3\n */\nfunction toAlpha3(code) {\n if (typeof code === \"string\") {\n if (/^[0-9]*$/.test(code)) {\n return numericToAlpha3(code);\n }\n if (code.length === 2) {\n return alpha2ToAlpha3(code.toUpperCase());\n }\n if (code.length === 3) {\n return code.toUpperCase();\n }\n }\n if (typeof code === \"number\") {\n return numericToAlpha3(code);\n }\n return undefined;\n}\nexports.toAlpha3 = toAlpha3;\n\n/*\n * @param code ISO 3166-1 alpha-2, alpha-3 or numeric code\n * @return ISO 3166-1 alpha-2\n */\nfunction toAlpha2(code) {\n if (typeof code === \"string\") {\n if (/^[0-9]*$/.test(code)) {\n return numericToAlpha2(code);\n }\n if (code.length === 2) {\n return code.toUpperCase();\n }\n if (code.length === 3) {\n return alpha3ToAlpha2(code.toUpperCase());\n }\n }\n if (typeof code === \"number\") {\n return numericToAlpha2(code);\n }\n return undefined;\n}\nexports.toAlpha2 = toAlpha2;\n\n/**\n * @param {string | number | Alpha2Code | Alpha3Code} code\n * @param {String} lang language for country name\n * @param {GetNameOptions} options\n * @return {String | String[] | undefined} name\n */\nexports.getName = function (code, lang, options = {}) {\n if (!(\"select\" in options)) {\n options.select = \"official\";\n }\n try {\n const codeMaps = registeredLocales[lang.toLowerCase()];\n const nameList = codeMaps[toAlpha2(code)];\n return filterNameBy(options.select, nameList);\n } catch (err) {\n return undefined;\n }\n};\n\n/**\n * @param {String} lang language for country names\n * @param {GetNameOptions} options getNames Options\n * @return {LocalizedCountryNames} country code\n * mapped to county name\n */\nexports.getNames = function (lang, options = {}) {\n if (!(\"select\" in options)) {\n options.select = \"official\";\n }\n const localeList = registeredLocales[lang.toLowerCase()];\n if (localeList === undefined) return {};\n return localeFilter(localeList, function (nameList) {\n return filterNameBy(options.select, nameList);\n });\n};\n\n/*\n * @param name name\n * @param lang language for country name\n * @return ISO 3166-1 alpha-2 or undefined\n */\nexports.getAlpha2Code = function (name, lang) {\n const normalizeString = (string) => string.toLowerCase();\n const areSimilar = (a, b) => normalizeString(a) === normalizeString(b);\n\n try {\n const codenames = registeredLocales[lang.toLowerCase()];\n for (const p in codenames) {\n if (!hasOwnProperty(codenames, p)) {\n continue;\n }\n if (typeof codenames[p] === \"string\") {\n if (areSimilar(codenames[p], name)) {\n return p;\n }\n }\n if (Array.isArray(codenames[p])) {\n for (const mappedName of codenames[p]) {\n if (areSimilar(mappedName, name)) {\n return p;\n }\n }\n }\n }\n return undefined;\n } catch (err) {\n return undefined;\n }\n};\n\n/*\n * @param name name\n * @param lang language for country name\n * @return ISO 3166-1 alpha-2 or undefined\n */\nexports.getSimpleAlpha2Code = function (name, lang) {\n const normalizeString = (string) => removeDiacritics(string.toLowerCase());\n const areSimilar = (a, b) => normalizeString(a) === normalizeString(b);\n\n try {\n const codenames = registeredLocales[lang.toLowerCase()];\n for (const p in codenames) {\n if (!hasOwnProperty(codenames, p)) {\n continue;\n }\n if (typeof codenames[p] === \"string\") {\n if (areSimilar(codenames[p], name)) {\n return p;\n }\n }\n if (Array.isArray(codenames[p])) {\n for (const mappedName of codenames[p]) {\n if (areSimilar(mappedName, name)) {\n return p;\n }\n }\n }\n }\n return undefined;\n } catch (err) {\n return undefined;\n }\n};\n\n/*\n * @return Object of alpha-2 codes mapped to alpha-3 codes\n */\nexports.getAlpha2Codes = function () {\n return alpha2;\n};\n\n/*\n * @param name name\n * @param lang language for country name\n * @return ISO 3166-1 alpha-3 or undefined\n */\nexports.getAlpha3Code = function (name, lang) {\n const alpha2 = exports.getAlpha2Code(name, lang);\n if (alpha2) {\n return exports.toAlpha3(alpha2);\n } else {\n return undefined;\n }\n};\n\n/*\n * @param name name\n * @param lang language for country name\n * @return ISO 3166-1 alpha-3 or undefined\n */\nexports.getSimpleAlpha3Code = function (name, lang) {\n const alpha2 = exports.getSimpleAlpha2Code(name, lang);\n if (alpha2) {\n return exports.toAlpha3(alpha2);\n } else {\n return undefined;\n }\n};\n\n/*\n * @return Object of alpha-3 codes mapped to alpha-2 codes\n */\nexports.getAlpha3Codes = function () {\n return alpha3;\n};\n\n/*\n * @return Object of numeric codes mapped to alpha-2 codes\n */\nexports.getNumericCodes = function () {\n return numeric;\n};\n\n/*\n * @return Array of registered languages\n */\nexports.langs = function () {\n return Object.keys(registeredLocales);\n};\n\n/*\n * @return Array of supported languages\n */\nexports.getSupportedLanguages = function () {\n return supportedLocales;\n};\n\n/*\n * @param code ISO 3166-1 alpha-2, alpha-3 or numeric code\n * @return Boolean\n */\nexports.isValid = function (code) {\n if (!code) {\n return false;\n }\n\n const coerced = code.toString().toUpperCase();\n return (\n hasOwnProperty(alpha3, coerced) ||\n hasOwnProperty(alpha2, coerced) ||\n hasOwnProperty(numeric, coerced)\n );\n};\n"],"names":["sides","alignments","placements","acc","side","min","max","oppositeSideMap","oppositeAlignmentMap","clamp","start","value","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","length","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","getSideList","isStart","lr","rl","tb","bt","getOppositeAxisPlacements","flipAlignment","direction","list","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","x","y","width","height","computeCoordsFromPlacement","_ref","reference","floating","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","computePosition","config","strategy","middleware","platform","validMiddleware","statefulPlacement","middlewareData","resetCount","i","name","fn","nextX","nextY","data","reset","detectOverflow","state","options","_await$platform$isEle","elements","boundary","rootBoundary","elementContext","altBoundary","paddingObject","element","clippingClientRect","offsetParent","offsetScale","elementClientRect","arrow","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","offset","shouldAddOffset","alignmentOffset","getPlacementList","autoAlignment","allowedPlacements","autoPlacement","_middlewareData$autoP","_middlewareData$autoP2","_placementsThatFitOnE","crossAxis","detectOverflowOptions","placements$1","overflow","currentIndex","currentPlacement","alignmentSides","currentOverflows","allOverflows","nextPlacement","placementsSortedByMostSpace","d","v","a","b","resetPlacement","flip","_middlewareData$arrow","_middlewareData$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","initialSideAxis","isBasePlacement","fallbackPlacements","hasFallbackAxisSideDirection","overflows","overflowsData","_middlewareData$flip2","_overflowsData$filter","nextIndex","_overflowsData$filter2","currentSideAxis","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","_middlewareData$offse","diffCoords","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","size","_state$middlewareData","_state$middlewareData2","apply","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","xMin","xMax","yMin","yMax","nextDimensions","n","t","e","o","r","l","c","s","h","f","u","p","g","m","w","L","E","R","T","C","F","W","D","S","A","H","O","P","z","B","getRandomValues","rnds8","rng","byteToHex","unsafeStringify","arr","randomUUID","native","v4","buf","rnds","diacritics","removeDiacritics","replacementList","diacriticsMap","chars","j","str","codes","require$$0","supportedLocales","require$$1","require$$2","registeredLocales","alpha2","alpha3","numeric","invertedNumeric","codeInformation","formatNumericCode","code","hasOwnProperty","object","property","localeFilter","localeList","filter","newLocaleList","nameList","filterNameBy","type","countryNameList","exports","localeData","alpha3ToAlpha2","alpha2ToAlpha3","alpha3ToNumeric","alpha2ToNumeric","numericToAlpha3","padded","numericToAlpha2","toAlpha3","toAlpha2","lang","normalizeString","string","areSimilar","codenames","mappedName","coerced"],"mappings":"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M,KACN,MAAO,GACX,EAAK,CACD,KAAM,KACN,MAAO,GACX,EAAK,CACD,KAAM,KACN,MAAO,GACX,EAAK,CACD,KAAM,KACN,MAAO,GACX,EAAK,CACD,KAAM,IACN,MAAO,WACX,EAAK,CACD,KAAM,IACN,MAAO,OACX,EAAK,CACD,KAAM,IACN,MAAO,kBACX,EAAK,CACD,KAAM,IACN,MAAO,kBACX,EAAK,CACD,KAAM,IACN,MAAO,gBACX,EAAK,CACD,KAAM,KACN,MAAO,GACX,EAAK,CACD,KAAM,KACN,MAAO,GACX,EAAK,CACD,KAAM,IACN,MAAO,mCACX,EAAK,CACD,KAAM,IACN,MAAO,SACX,EAAK,CACD,KAAM,KACN,MAAO,GACX,EAAK,CACD,KAAM,IACN,MAAO,WACX,EAAK,CACD,KAAM,IACN,MAAO,MACX,EAAK,CACD,KAAM,IACN,MAAO,gBACX,EAAK,CACD,KAAM,IACN,MAAO,eACX,EAAK,CACD,KAAM,IACN,MAAO,qCACX,EAAK,CACD,KAAM,KACN,MAAO,GACX,EAAK,CACD,KAAM,KACN,MAAO,KACX,EAAK,CACD,KAAM,KACN,MAAO,GACX,EAAK,CACD,KAAM,KACN,MAAO,GACX,EAAK,CACD,KAAM,KACN,MAAO,IACX,EAAK,CACD,KAAM,KACN,MAAO,GACX,EAAK,CACD,KAAM,IACN,MAAO,WACX,EAAK,CACD,KAAM,IACN,MAAO,cACX,EAAK,CACD,KAAM,IACN,MAAO,kBACX,EAAK,CACD,KAAM,KACN,MAAO,GACX,EAAK,CACD,KAAM,KACN,MAAO,IACX,EAAK,CACD,KAAM,IACN,MAAO,+BACX,EAAK,CACD,KAAM,IACN,MAAO,MACX,EAAK,CACD,KAAM,KACN,MAAO,GACX,EAAK,CACD,KAAM,KACN,MAAO,GACX,EAAK,CACD,KAAM,KACN,MAAO,GACX,EAAK,CACD,KAAM,MACN,MAAO,GACX,EAAK,CACD,KAAM,MACN,MAAO,GACX,EAAK,CACD,KAAM,IACN,MAAO,gBACX,EAAK,CACD,KAAM,IACN,MAAO,gBACX,EAAK,CACD,KAAM,KACN,MAAO,GACX,EAA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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8]}