{"version":3,"sources":["webpack://shields.io/./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://shields.io/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://shields.io/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://shields.io/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://shields.io/./node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js","webpack://shields.io/./node_modules/@babel/runtime/helpers/typeof.js","webpack://shields.io/./node_modules/@babel/runtime/regenerator/index.js","webpack://shields.io/./node_modules/@mapbox/react-click-to-select/dist/index.js","webpack://shields.io/./node_modules/clipboard-copy/index.js","webpack://shields.io/./node_modules/humanize-string/index.js","webpack://shields.io/./node_modules/humanize-string/node_modules/decamelize/index.js","webpack://shields.io/./node_modules/humanize-string/node_modules/xregexp/lib/addons/build.js","webpack://shields.io/./node_modules/humanize-string/node_modules/xregexp/lib/addons/matchrecursive.js","webpack://shields.io/./node_modules/humanize-string/node_modules/xregexp/lib/addons/unicode-base.js","webpack://shields.io/./node_modules/humanize-string/node_modules/xregexp/lib/addons/unicode-blocks.js","webpack://shields.io/./node_modules/humanize-string/node_modules/xregexp/lib/addons/unicode-categories.js","webpack://shields.io/./node_modules/humanize-string/node_modules/xregexp/lib/addons/unicode-properties.js","webpack://shields.io/./node_modules/humanize-string/node_modules/xregexp/lib/addons/unicode-scripts.js","webpack://shields.io/./node_modules/humanize-string/node_modules/xregexp/lib/index.js","webpack://shields.io/./node_modules/humanize-string/node_modules/xregexp/lib/xregexp.js","webpack://shields.io/./node_modules/react-input-autosize/lib/AutosizeInput.js","webpack://shields.io/./frontend/lib/generate-image-markup.ts","webpack://shields.io/./frontend/components/customizer/builder-common.tsx","webpack://shields.io/./frontend/components/customizer/path-builder.tsx","webpack://shields.io/./frontend/components/customizer/query-string-builder.tsx","webpack://shields.io/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://shields.io/./node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","webpack://shields.io/./node_modules/stylis/src/Utility.js","webpack://shields.io/./node_modules/stylis/src/Tokenizer.js","webpack://shields.io/./node_modules/stylis/src/Enum.js","webpack://shields.io/./node_modules/stylis/src/Serializer.js","webpack://shields.io/./node_modules/stylis/src/Prefixer.js","webpack://shields.io/./node_modules/stylis/src/Parser.js","webpack://shields.io/./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","webpack://shields.io/./node_modules/stylis/src/Middleware.js","webpack://shields.io/./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack://shields.io/./node_modules/@emotion/hash/dist/hash.browser.esm.js","webpack://shields.io/./node_modules/@emotion/serialize/node_modules/@emotion/memoize/dist/emotion-memoize.browser.esm.js","webpack://shields.io/./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","webpack://shields.io/./node_modules/@emotion/react/dist/emotion-element-4fbd89c5.browser.esm.js","webpack://shields.io/./node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack://shields.io/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://shields.io/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://shields.io/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://shields.io/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://shields.io/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://shields.io/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://shields.io/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://shields.io/./node_modules/react-select/dist/index-4bd03571.esm.js","webpack://shields.io/./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","webpack://shields.io/./node_modules/memoize-one/dist/memoize-one.esm.js","webpack://shields.io/./node_modules/react-select/dist/Select-dbb12e54.esm.js","webpack://shields.io/./node_modules/react-select/dist/stateManager-845a3300.esm.js","webpack://shields.io/./node_modules/react-select/dist/react-select.esm.js","webpack://shields.io/./frontend/components/customizer/request-markup-button.tsx","webpack://shields.io/./node_modules/react-pose/node_modules/tslib/tslib.es6.js","webpack://shields.io/./node_modules/popmotion/node_modules/tslib/tslib.es6.js","webpack://shields.io/./node_modules/style-value-types/dist/style-value-types.es.js","webpack://shields.io/./node_modules/framesync/dist/framesync.es.js","webpack://shields.io/./node_modules/@popmotion/easing/dist/easing.es.js","webpack://shields.io/./node_modules/@popmotion/popcorn/dist/popcorn.es.js","webpack://shields.io/./node_modules/stylefire/node_modules/tslib/tslib.es6.js","webpack://shields.io/./node_modules/stylefire/dist/stylefire.es.js","webpack://shields.io/./node_modules/popmotion/dist/popmotion.es.js","webpack://shields.io/./node_modules/pose-core/node_modules/tslib/tslib.es6.js","webpack://shields.io/./node_modules/pose-core/dist/pose-core.es.js","webpack://shields.io/./node_modules/popmotion-pose/dist/popmotion-pose.es.js","webpack://shields.io/./node_modules/@emotion/memoize/dist/memoize.browser.esm.js","webpack://shields.io/./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","webpack://shields.io/./node_modules/react-pose/dist/react-pose.es.js","webpack://shields.io/./frontend/components/customizer/copied-content-indicator.tsx","webpack://shields.io/./frontend/components/customizer/customizer.tsx","webpack://shields.io/./frontend/components/footer.tsx","webpack://shields.io/./frontend/components/snippet.tsx","webpack://shields.io/./frontend/lib/pattern-helpers.ts","webpack://shields.io/./node_modules/regenerator-runtime/runtime.js"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","module","exports","fn","self","this","args","arguments","apply","err","undefined","obj","Object","defineProperty","enumerable","configurable","writable","_asyncToGenerator","objectWithoutPropertiesLoose","source","excluded","i","target","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","prototype","propertyIsEnumerable","call","strings","raw","slice","freeze","defineProperties","_typeof","Symbol","iterator","constructor","_createClass","props","descriptor","Constructor","protoProps","staticProps","_react2","_interopRequireDefault","_propTypes2","__esModule","default","_classCallCheck","instance","TypeError","_possibleConstructorReturn","ReferenceError","ClickToSelect","_React$PureComponent","_ref","_temp","_this","_len","Array","_key","__proto__","getPrototypeOf","concat","select","e","onSelect","preventDefault","range","document","createRange","sel","window","getSelection","selectNodeContents","_target","removeAllRanges","addRange","getRef","subClass","superClass","create","setPrototypeOf","_inherits","Element","containerElement","createElement","ref","onClick","children","PureComponent","propTypes","any","isRequired","oneOf","func","defaultProps","_regeneratorRuntime","makeError","DOMException","copyClipboardApi","_x","_copyClipboardApi","mark","_callee","text","wrap","_context","prev","next","navigator","clipboard","abrupt","writeText","stop","copyExecCommand","_x2","_copyExecCommand","_callee2","span","selection","success","_context2","textContent","style","whiteSpace","webkitUserSelect","userSelect","body","appendChild","selectNode","execCommand","removeChild","_clipboardCopy","_callee3","_context3","t0","t1","_x3","decamelize","humanizeString","input","toLowerCase","replace","trim","charAt","toUpperCase","xRegExp","separator","regex1","regex2","XRegExp","subParts","parts","union","conjunction","deanchor","pattern","leadingAnchor","trailingAnchor","test","asXRegExp","addFlagX","flags","isRegExp","captureNames","interpolate","substitution","RegExp","escape","reduceToSubpatternsObject","subpatterns","interpolated","subpatternIndex","embedSubpatternAfter","rawLiterals","tag","literals","substitutions","map","reduce","join","build","subs","inlineFlags","exec","_clipDuplicates","data","p","hasOwnProperty","sub","names","patternAsRegex","numCaps","numPriorCaps","numOuterCaps","outerCapsMap","outerCapNames","output","$0","$1","$2","$3","$4","subName","capName","intro","localCapIndex","match","paren","backref","row","name","start","end","matchRecursive","str","left","right","options","global","sticky","basicFlags","escapeChar","vN","valueNames","openTokens","delimStart","delimEnd","lastOuterEnd","outerStart","innerStart","leftMatch","rightMatch","esc","Error","index","push","unicode","dec","_dec","hex","_hex","pad4","_pad4","normalize","charCode","chr","charCodeAt","cacheInvertedBmp","slug","lastEnd","bmp","forEach","m","cacheAstral","isNegated","prop","item","combined","isBmpLast","astral","buildAstral","addToken","scope","isAstralMode","SyntaxError","inverseOf","optionalFlags","leadChar","addUnicodeData","alias","cache","flush","_getUnicodeProperty","unicodeData","_xregexp2","_build2","_matchrecursive2","_unicodeBase2","_unicodeBlocks2","_unicodeCategories2","_unicodeProperties2","_unicodeScripts2","features","nativ","String","split","fixed","regexCache","patternCache","tokens","defaultScope","classScope","nativeTokens","replacementToken","correctExecNpcg","hasFlagsProp","toString","hasNativeFlag","flag","isSupported","exception","hasNativeU","hasNativeY","registeredFlags","g","u","y","augment","regex","xSource","xFlags","isInternalOnly","sort","clipDuplicates","copyRegex","xData","getNativeFlags","flagsToAdd","flagsToRemove","xregexpSource","xregexpFlags","removeG","removeY","addG","addY","hasNamedCapture","parseInt","getContextualTokenSeparator","pos","isQuantifierNext","isType","type","prepareOptions","registerFlag","runTokens","context","result","t","matchLength","handler","reparse","setAstral","on","toObject","isInstalled","applied","prepareFlags","appliedPattern","appliedFlags","token","captures","generated","version","_hasNativeFlag","cacheName","cacheKey","fakeY","r2","lastIndex","pop","callback","globalize","install","feature","matchChain","chain","recurseChain","values","level","matches","addMatch","search","replacement","isRegex","s2","replaceEach","replacements","r","limit","uninstall","patterns","numCaptures","numPriorCaptures","rewrite","origLastIndex","len","_len2","_key2","_len3","_key3","replacer","bracketed","angled","dollarToken","n","isNaN","lastLastIndex","lastLength","code","endIndex","_extends","assign","_react","sizerStyle","position","top","visibility","height","overflow","INPUT_PROPS_BLACKLIST","copyStyles","styles","node","fontSize","fontFamily","fontWeight","fontStyle","letterSpacing","textTransform","isIE","userAgent","generateId","Math","random","substr","AutosizeInput","_Component","inputRef","el","placeHolderSizerRef","placeHolderSizer","sizerRef","sizer","state","inputWidth","minWidth","inputId","id","prevId","mounted","copyInputStyles","updateInputWidth","prevProps","prevState","onAutosize","getComputedStyle","inputStyles","scrollWidth","newInputWidth","placeholder","placeholderIsMinWidth","max","extraWidth","setState","focus","blur","injectStyles","dangerouslySetInnerHTML","__html","sizerValue","defaultValue","previousValue","currentValue","wrapperStyle","display","inputStyle","boxSizing","width","inputProps","keys","_objectWithoutProperties","field","cleanInputProps","className","inputClassName","renderStyles","Component","string","oneOfType","number","bool","object","onChange","bareLink","badgeUrl","link","title","html","img","markdown","withoutLink","reStructuredText","quoteAsciiDocAttribute","attr","asciiDoc","positional","named","some","includes","iteratee","k","mapValues","items","entries","renderAsciiDocAttributes","generateMarkup","generatorFn","rst","asciidoc","markupFormat","BuilderOuterContainer","styled","BuilderInnerContainer","BuilderContainer","labelFont","BuilderLabel","BuilderCaption","PathBuilderColumn","pathContainsOnlyLiterals","withHorizPadding","css","PathLiteral","isFirstToken","NamedParamLabelContainer","inputStyling","NamedParamInput","StyledInput","NamedParamSelect","NamedParamCaption","PathBuilder","exampleParams","isPrefilled","useState","parse","filter","accum","namedParams","setNamedParams","handleTokenChange","renderLiteral","literal","tokenIndex","renderNamedParam","namedParamIndex","prefix","modifier","optional","exampleValue","htmlFor","patternToOptions","disabled","option","noAutocorrect","renderNamedParamInput","useEffect","isComplete","path","encodeURI","constructPath","every","QueryParamLabel","QueryParamInput","QueryParamCaption","supportedBadgeOptions","shieldsDefaultValue","label","getBadgeOption","find","opt","ServiceQueryParam","isStringParam","stringParamCount","handleServiceQueryParamChange","checked","BadgeOptionInput","handleBadgeOptionChange","advertisedStyles","BadgeOption","hasShieldsDefaultValue","QueryStringBuilder","initialStyle","queryParams","setQueryParams","badgeOptions","setBadgeOptions","targetType","outValue","outQuery","queryString","stringifyQueryString","getQueryString","hasQueryParams","Boolean","StyleSheet","_insertTag","before","tags","prepend","container","firstChild","nextSibling","insertBefore","isSpeedy","speedy","ctr","nonce","_proto","hydrate","nodes","insert","rule","setAttribute","createTextNode","createStyleElement","sheet","styleSheets","ownerNode","sheetForTag","insertRule","cssRules","parentNode","abs","fromCharCode","indexof","begin","array","line","column","character","characters","root","parent","return","copy","peek","caret","alloc","dealloc","delimit","delimiter","whitespace","commenter","identifier","MS","MOZ","WEBKIT","COMMENT","DECLARATION","serialize","stringify","element","hash","compile","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","j","x","z","getRules","parsed","toRules","fixedElements","WeakMap","compat","isImplicitRule","get","set","parentRules","removeLabel","defaultStylisPlugins","ssrStyles","querySelectorAll","getAttribute","head","stylisPlugins","_insert","inserted","nodesToHydrate","attrib","currentSheet","collection","finalizingPlugins","serializer","selector","serialized","shouldCache","registered","getRegisteredStyles","registeredStyles","classNames","rawClassName","isStringTag","current","h","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","processStyleValue","p1","p2","cursor","handleInterpolation","mergedProps","interpolation","__emotion_styles","anim","isArray","_i","createStringFromObject","previousCursor","cached","labelPattern","stringMode","identifierName","EmotionCacheContext","createContext","HTMLElement","CacheProvider","Provider","forwardRef","useContext","typePropName","createEmotionProps","newProps","Emotion","cssProp","jsx","argsLength","createElementArgArray","classnames","cls","toAdd","merge","ClassNames","content","cx","theme","ele","_defineProperties","_setPrototypeOf","o","_defineProperty","ownKeys","enumerableOnly","symbols","sym","getOwnPropertyDescriptor","getOwnPropertyDescriptors","_getPrototypeOf","_assertThisInitialized","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","_isNativeReflectConstruct","Super","NewTarget","noop","applyPrefixToName","arr","cleanValue","cleanCommonProps","clearValue","getStyles","getValue","hasValue","isMulti","isRtl","selectOption","selectProps","setValue","isDocumentElement","documentElement","getScrollTop","pageYOffset","scrollTop","scrollTo","easeOutCubic","b","c","d","animatedScrollTo","to","duration","change","increment","currentTime","animateScroll","val","requestAnimationFrame","isTouchCapable","createEvent","passiveOptionAccessed","w","addEventListener","removeEventListener","supportsPassiveEvents","getMenuPlacement","maxHeight","menuEl","minHeight","placement","shouldScroll","isFixedPosition","spacing","scrollParent","excludeStaticParent","overflowRx","docEl","parentElement","overflowY","overflowX","getScrollParent","defaultState","offsetParent","scrollHeight","getBoundingClientRect","_menuEl$getBoundingCl","menuBottom","bottom","menuHeight","menuTop","containerTop","viewHeight","innerHeight","marginBottom","marginTop","viewSpaceAbove","viewSpaceBelow","scrollSpaceAbove","scrollSpaceBelow","scrollDown","scrollUp","scrollDuration","_constrainedHeight","spaceAbove","min","controlHeight","_constrainedHeight2","coercePlacement","PortalPlacementContext","getPortalPlacement","MenuPlacer","_super","maxMenuHeight","getPlacement","_this$props","minMenuHeight","menuPlacement","menuPosition","menuShouldScrollIntoView","getUpdatedProps","placerProps","contextType","noticeCSS","_ref5","_ref5$theme","baseUnit","color","colors","neutral40","padding","textAlign","noOptionsMessageCSS","loadingMessageCSS","NoOptionsMessage","innerProps","LoadingMessage","_templateObject","MenuPortal","_Component2","_super2","_this2","_ref7","_this$props2","appendTo","controlElement","isFixed","rect","getBoundingClientObj","scrollDistance","menuWrapper","createPortal","_ref2","Svg","viewBox","focusable","CrossIcon","DownChevron","baseCSS","_ref3","isFocused","_ref3$theme","neutral60","neutral20","transition","neutral80","dropdownIndicatorCSS","clearIndicatorCSS","loadingDotAnimations","insertable","keyframes","LoadingDot","_ref6","delay","animation","backgroundColor","borderRadius","marginLeft","verticalAlign","LoadingIndicator","indicator","isHidden","background","border","opacity","outline","MultiValueGeneric","_ref4","MultiValueContainer","MultiValueLabel","MultiValue","components","isDisabled","removeProps","Container","Label","Remove","emotionCx","cropWithEllipsis","ClearIndicator","Control","innerRef","menuIsOpen","control","DropdownIndicator","Group","Heading","headingProps","group","GroupHeading","_cleanCommonProps","IndicatorsContainer","indicators","IndicatorSeparator","Input","Menu","menu","MenuList","MultiValueRemove","Option","isSelected","Placeholder","SelectContainer","SingleValue","ValueContainer","areInputsEqual","newInputs","lastInputs","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","A11yText","defaultAriaLiveMessages","guidance","isSearchable","tabSelectsValue","action","_props$label","onFocus","_props$focused","focused","_props$label2","selectValue","getArrayIndex","status","onFilter","inputValue","resultsMessage","LiveRegion","ariaSelection","focusedOption","focusedValue","focusableOptions","ariaLiveMessages","getOptionLabel","isOptionDisabled","screenReaderStatus","ariaLabel","ariaLive","messages","useMemo","ariaSelected","message","removedValue","selected","onChangeProps","ariaFocused","focusMsg","onFocusProps","ariaResults","resultsMsg","count","ariaGuidance","guidanceMsg","ariaContext","diacritics","base","letters","anyDiacritic","diacriticToBase","diacritic","stripDiacritics","memoizedStripDiacriticsForInput","trimString","defaultStringify","DummyInput","in","out","onExited","appear","enter","exit","emotion","transform","STYLE_KEYS","LOCK_STYLES","preventTouchMove","allowTouchMove","stopPropagation","preventInertiaScroll","totalScroll","currentScroll","offsetHeight","isTouchDevice","maxTouchPoints","canUseDOM","activeScrollLocks","listenerOptions","capture","passive","blurSelectInput","activeElement","ScrollManager","lockEnabled","_ref$captureEnabled","captureEnabled","setScrollCaptureTarget","isEnabled","onBottomArrive","onBottomLeave","onTopArrive","onTopLeave","isBottom","useRef","isTop","touchStart","scrollTarget","handleEventDelta","useCallback","event","delta","_scrollTarget$current","clientHeight","isDeltaPositive","availableScroll","shouldCancelScroll","cancelScroll","onWheel","deltaY","onTouchStart","changedTouches","clientY","onTouchMove","startListening","notPassive","stopListening","useScrollCapture","setScrollLockTarget","_ref$accountForScroll","accountForScrollbars","originalStyles","addScrollLock","touchScrollTarget","targetStyle","currentPadding","paddingRight","clientWidth","adjustedPadding","innerWidth","removeScrollLock","useScrollLock","defaultStyles","clearIndicator","direction","pointerEvents","_ref$theme","alignItems","neutral5","neutral0","borderColor","neutral10","primary","borderStyle","borderWidth","boxShadow","flexWrap","justifyContent","neutral30","dropdownIndicator","paddingBottom","paddingTop","groupHeading","paddingLeft","indicatorsContainer","alignSelf","flexShrink","indicatorSeparator","_ref4$theme","margin","loadingIndicator","lineHeight","marginRight","loadingMessage","_ref2$theme","alignToControl","menuGutter","menuList","WebkitOverflowScrolling","menuPortal","zIndex","multiValue","multiValueLabel","textOverflow","multiValueRemove","dangerLight","danger","noOptionsMessage","primary25","WebkitTapHighlightColor","primary50","neutral50","singleValue","maxWidth","valueContainer","flex","config","defaultTheme","primary75","neutral70","neutral90","backspaceRemovesValue","blurInputOnSelect","captureMenuScroll","closeMenuOnSelect","closeMenuOnScroll","controlShouldRenderValue","escapeClearsValue","filterOption","rawInput","_ignoreCase$ignoreAcc","ignoreCase","ignoreAccents","matchFrom","candidate","formatGroupLabel","getOptionValue","isLoading","menuShouldBlockScroll","isMobileDevice","openMenuOnFocus","openMenuOnClick","pageSize","tabIndex","toCategorizedOption","_isOptionDisabled","_isOptionSelected","getOptionLabel$1","getOptionValue$1","buildCategorizedOptions","groupOrOption","groupOrOptionIndex","categorizedOptions","optionIndex","categorizedOption","isFocusable","buildFocusableOptionsFromCategorizedOptions","optionsAccumulator","_props$inputValue","shouldHideSelectedOptions","_filterOption","isOptionSelected","hideSelectedOptions","instanceId","Select","_props","inputIsHidden","clearFocusValueOnUpdate","inputIsHiddenAfterUpdate","blockOptionHover","isComposing","commonProps","initialTouchX","initialTouchY","instancePrefix","openAfterFocus","scrollToFocusedOptionOnUpdate","userIsDragging","controlRef","getControlRef","focusedOptionRef","getFocusedOptionRef","menuListRef","getMenuListRef","getInputRef","focusInput","blurInput","newValue","actionMeta","ariaOnChange","onInputChange","onMenuClose","_this$props3","deselected","removeValue","newValueArray","removedValues","popValue","lastSelectedValue","classNamePrefix","custom","getElementId","getComponents","getCategorizedOptions","buildFocusableOptions","getFocusableOptions","onMenuMouseDown","button","onMenuMouseMove","onControlMouseDown","tagName","openMenu","onDropdownIndicatorMouseDown","_this$props4","onClearIndicatorMouseDown","setTimeout","onScroll","onCompositionStart","onCompositionEnd","touches","touch","clientX","deltaX","onTouchEnd","contains","onControlTouchEnd","onClearIndicatorTouchEnd","onDropdownIndicatorTouchEnd","handleInputChange","currentTarget","onMenuOpen","onInputFocus","onInputBlur","onBlur","onOptionHover","onKeyDown","_this$props5","isClearable","_this$state","defaultPrevented","focusValue","shiftKey","keyCode","focusOption","startListeningComposition","startListeningToTouch","autoFocus","focusedEl","menuRect","focusedRect","overScroll","_this$props6","offsetTop","stopListeningComposition","stopListeningToTouch","_this$state2","openAtIndex","selectedIndex","_this$state3","focusedIndex","nextFocus","getTheme","_this$props7","formatOptionLabel","_this$props8","form","ariaAttributes","autoCapitalize","autoComplete","autoCorrect","spellCheck","readOnly","_this3","_this$getComponents2","_this$props9","_this$state4","isOptionFocused","onMouseDown","_this$props10","_this$props11","_this$getComponents5","_this4","_this$getComponents7","_this$props12","menuPortalTarget","onMenuScrollToTop","onMenuScrollToBottom","menuUI","render","onHover","optionId","onMouseMove","onMouseOver","hasOptions","groupIndex","groupId","headingId","_message","menuPlacementProps","menuElement","_ref4$placerProps","scrollTargetRef","_this5","_this$props13","_value","_this$state5","_this$getComponents8","_this$props14","getCommonProps","renderLiveRegion","renderPlaceholderOrValue","renderInput","renderClearIndicator","renderLoadingIndicator","renderIndicatorSeparator","renderDropdownIndicator","renderMenu","renderFormField","newMenuOptionsState","nextSelectValue","lastFocusedIndex","getNextFocusedValue","lastFocusedOption","getNextFocusedOption","newInputIsHiddenState","SelectComponent","_class","defaultInputValue","defaultMenuIsOpen","StateManager","callProp","getProp","ClickableControl","MarkupFormatSelect","markupOptions","GetMarkupButton","onMarkupRequested","selectRef","_extendStatics","__","_assign","s","__rest","clamp","v","sanitize","Number","toFixed","floatRegex","colorRegex","singleColorRegex","parseFloat","alpha","scale","createUnitType","unit","endsWith","degrees","percent","px","vh","vw","progressPercentage","clampRgbUnit","isRgba","red","isHsla","hue","splitColorValues","terms","valuesArray","substring","lastIndexOf","getValueFromFunctionString","rgbUnit","round","isColorString","colorType","startsWith","rgba","_a","green","blue","_b","alpha$$1","rgbaTemplate","hsla","saturation","lightness","hslaTemplate","COLOR_TOKEN","NUMBER_TOKEN","convertNumbersToZero","complex","numValues","foundNumbers","foundColors","createTransformer","template","numColors","numNumbers","getAnimatableNone","parsedTarget","targetTransformer","StepId","prevTime","onNextFrame","timestamp","now","timeToCall","defaultElapsed","useDefaultElapsed","willRunNextFrame","isProcessing","stepsOrder","Read","Update","Render","PostRender","setWillRunNextFrame","willRun","acc","step","setRunNextFrame","processToRun","processToRunNextFrame","numThisFrame","cancelled","WeakSet","toKeepAlive","renderStep","cancel","process","indexOfCallback","add","splice","frame","process_1","has","schedule","keepAlive","immediate","addToCurrentBuffer","buffer","delete","createStep","sync","startLoop","cancelSync","steps","processStep","stepId","processFrame","getFrameData","reversed","easing","mirrored","createReversedEasing","createBackIn","power","createAnticipateEasing","backEasing","pow","easeIn","createExpoIn","easeOut","circIn","sin","acos","circOut","circInOut","backIn","backOut","backInOut","anticipate","K_SAMPLE_STEP_SIZE","FLOAT_32_SUPPORTED","Float32Array","a","a1","a2","getSlope","calcBezier","cubicBezier","mX1","mY1","mX2","mY2","sampleValues","getTForX","aX","dist","guessForT","initialSlope","intervalStart","currentSample","K_SPLINE_TABLE_SIZE","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","binarySubdivide","calcSampleValues","zeroPoint","isNum","radiansToDegrees","radians","PI","angle","atan2","applyOffset","from","hasReceivedFrom","curryRange","cv","clamp$1","isPoint","point","isPoint3D","distance1D","distance","xDelta","yDelta","zDelta","sqrt","progress","toFromDifference","mixLinearColor","fromExpo","toExpo","colorTypes","getColorType","notAnimatable","color$$1","mixColor","fromColorType","toColorType","fromColor","toColor","blended","mixFunc","combineFunctions","pipe","transformers","getMixer","origin","mixComplex","mixArray","blendValue","fromThis","mixObject","analyse","numRGB","numHSL","originStats","targetStats","mixNumber","createMixers","ease","customMixer","mixers","mixerFactory","numMixers","mixer","easingFunction","smoothFrame","prevValue","nextValue","smoothing","num","precision","identity","springForce","alterDisplacement","constant","displacement","springModifiedDisplacement","springForceLinear","springForceExpo","velocityPerFrame","xps","frameDuration","velocityPerSecond","velocity","wrap$1","rangeSize","testElement","createStyler","onRead","onRender","uncachedValues","Set","_c","useCache","changedValues","hasChanged","hasCSSVariable","styler","forceRead","forceRender","CAMEL_CASE_PATTERN","camelToDash","camelCache","Map","dashCache","prefixes","numPrefixes","setDashPrefix","prefixed","asDashCase","noPrefix","prefixedPropertyName","testPrefix","setServerProperty","axes","transformProps","axesAcc","axesKey","transformPropDictionary","dict","isTransformProp","sortTransformProps","transformOriginProps","isTransformOriginProp","valueTypes","outlineColor","fill","stroke","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","radius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","rotate","rotateX","rotateY","rotateZ","scaleX","scaleY","scaleZ","skew","skewX","skewY","translateX","translateY","translateZ","perspective","originX","originY","originZ","fillOpacity","strokeOpacity","numOctaves","getValueType","getValueAsType","SCROLL_LEFT","SCROLL_TOP","scrollKeys","blacklist","translateAlias","isCustomTemplate","buildStyleProperty","enableHardwareAcceleration","transformOrigin","transformKeys","isDashCase","transformIsDefault","hasTransform","hasTransformOrigin","valueType","valueAsType","transformString","transformHasZ","numTransformKeys","buildTransform","createStyleBuilder","cssStyler","preparseOutput","defaultValueType","domValue","getPropertyValue","buildStyles","numChangedValues","setProperty","camelCaseAttributes","progressToPixels","unmeasured","calcOrigin","buildSVGAttrs","dimensions","totalPathLength","cssBuilder","attrs","attrX","attrY","pathLength","pathSpacing","pathOffset","calculateSVGTransformOrigin","createAttrBuilder","svgStyler","buildAttrs","viewport","pageXOffset","scrollLeft","createDOMStyler","createCssStyler","SVGElement","getBBox","getDimensions","getSVGElementDimensions","isPath","getTotalLength","nodeOrSelector","getStyler","querySelector","Chainable","applyMiddleware","middleware","funcs","pipedUpdate","update","while","predicate","complete","Observer","observer","onComplete","isActive","updateObserver","createObserver","observerCandidate","Action","subscription","init","observerProps","api","registerParent","BaseMulticast","subscribers","subscriber","subscribe","unsubscribe","stepProgress","progress$$1","segment","subsegment","subsegmentProgressOfTarget","floor","ValueReaction","typeOfV","scheduleVelocityCheck","velocityCheck","lastUpdated","updateCurrent","getVelocityOfCurrent","getSingleVelocity","isValueList","getMapVelocity","getListVelocity","initialSubscription","getVelocity","timeDelta","multi","getCount","getFirst","getOutput","mapApi","setProp","startActions","actions","_complete","numActions","updateOutput","numCompletedActions","hasCompleted","methodName","composite","propKey","starter","parallel","parallel$1","unitTypes","findUnitType","createAction","createArrayAction","vectorKeys","firstVectorKey","actionList","childActionProps","reduceArrayValue","getActionCreator","createObjectAction","actionMap","reduceObjectValue","createUnitAction","unitType","createMixerAction","createColorAction","createComplexAction","createVectorAction","typeTests","testNames","isVectorProp","getVectorKeys","testVectorProps","createVectorTests","testProp","isUnitProp","vectorDecay","_d","_e","timeConstant","_f","restDelta","modifyTarget","elapsed","amplitude","idealTarget","frameDelta","exp","isMoving","vectorSpring","stiffness","damping","_g","mass","_h","restSpeed","_j","initialVelocity","prevPosition","dampingRatio","angularFreq","envelope","expoDecay","cos","isBelowVelocityThreshold","isBelowDisplacementThreshold","vectorScrubber","reverseEase","seek","tween","flip","loop","yoyo","repeatDelay","_k","_l","flipCount","_m","yoyoCount","_o","loopCount","playhead","currentProgress","_isActive","reverseAnimation","updateTween","startTimer","stopTimer","getElapsed","getProgress","pause","resume","newProgress","reverse","clampProgress$1","easings","times","tweenProps","easing$$1","defaultEasings","defaultTimings","scrubbers","rangeLength","finalInputIndex","finalScrubberIndex","scrub","progressInRange","interpolateScrubbers","vectorPhysics","acceleration","friction","springStrength","setAcceleration","setFriction","setSpringStrength","setSpringTarget","setVelocity","listen","events","eventNames","eventName","defaultPointerPos","pageX","pageY","eventToPoint","numTouches","thisTouch","isMouseDevice","getFirstTouch","pointer","initialDistance","initialRotation","isGesture","firstTouch","secondTouch","updatePoint","newDistance","newRotation","updateOnMove","multitouch","mouse","_complete3","playCurrent","timeToDelay","timeout","clearTimeout","conditional","check","inputLength","interpolator","fastInterpolate","lastInputIndex","mixerIndex","foundMixerIndex","slowInterpolate","blendArray","blendColor","smooth","strength","currentFramestamp","snap","i_1","numPoints_1","lastDistance","generateStaticSpring","nonlinearSpring","linearSpring","appendUnit","st","transformMap","childTransformers","childTransformer","il","jl","BoundingBoxDimension","getPoseValues","delayChildren","staggerChildren","staggerDirection","afterChildren","beforeChildren","preTransition","applyAtStart","applyAtEnd","resolveProp","poseDefault","pose","resolveProps","resolveTransition","convertTransitionDefinition","getInstantTransition","resolvedTransition","keyTransition","applyValues","toApply","setValueNative","valueToSet","createPoseSetter","setterProps","poses","startAction","stopAction","addActionDelay","getTransitionProps","resolveTarget","transformPose","posePriority","nextProps","propagate","activeActions","activePoses","hasChildren","baseTransitionProps","nextPose","getChildAnimations","animations","stagger","maxStaggerDuration","generateStaggerDuration","child","startChildAnimations","getParentAnimations","getTransition","valuePoses","existingIndex","priority","insertionIndex","poseList","priorityList","priorityIndex","nextHighestPriorityIndex","findInsertionIndex","transitionProps","resolveTransitionProps","poseDelay","all","DEFAULT_INITIAL_POSE","defaultReadValueFromSource","isScale","getPosesToSearch","posesToSearch","getInitialValue","initialPose","readValueFromSource","thisPose","valueToResolve","readValueFromPose","scrapeValuesFromPose","userSetValues","createValue","convertValue","initValue","createValues","createValueMap","valuesHaveSet","setValues","poseKey","setNativeValues","ancestorValues","readValue","valueKey","passiveProps","fromParent","valueToBind","ancestors","foundAncestor","getAncestorValue","passiveParentKey","passiveParent","bindPassiveValues","generateTransitions","defaultTransitions","applyDefaultTransition","getDefaultProps","bindOnChange","selectValueToRead","extendAPI","parentValues","unshift","selectPoses","unset","poseName","poseProps","posesToSet","poseIndex","currentPose","priorityOrder","animationsToResolve","aP","bP","poseToSet","valueName","allValues","selectAllValues","setProps","_addChild","childConfig","factory","clearChildren","destroy","clear","singleAxisPointer","axis","applyXOffset_1","applyYOffset_1","delta_1","pointerX","pointerY","createPointer","axisPointerCreator","measurement","dragBounds","axisPointer","measurementAsPixels","transformQueue","resolvedDragBounds_1","just","underDampedSpring","overDampedSpring","intelligentTransition","dragAction","justAxis","animationLookup","spring","decay","physics","easingLookup","linear","easeInOut","valueTypeTests","testValueType","delay$$1","addListenerToValue","elementStyler","transform$$1","createPassiveValue","_createValue","_","action$$1","reaction","def","isAction","definedEase","baseProps","getAction","outputPipe","createDimensions","hasMeasured","measure","value$$1","makeUIEventApplicator","startEvents","endEvents","startPose","endPose","startCallback","endCallback","useDocumentToEnd","preventScroll","poser","startListener","endListener","moveListener","touchMoveListener","eventStartListener","startEvent","eventEndListener","endEvent","buttons","draggable","hoverable","pressable","eventKeys","ORIGIN_CENTER","ORIGIN_END","findCenter","positionalProps","positionalPropsDict","checkPositionalProp","implicitlyFlipPose","bbox","measureWithoutTransform","prevCenter","nextCenter","flipPose","hasPositionalProps","remainingPose","propsToSet","explicitlyFlipPose","getPosFromMatrix","matrix","getTranslateFromMatrix","pos2","pos3","matrix3d","positionalValues","isPositionalKey","getCurrent","createPoseConfig","onDragStart","onDragEnd","onPressStart","onPressEnd","poseConfig","drag","dragEnd","dragPoses","domPose","pose$$1","isFlipPose","isPositional","positionalPoseKeys","changedPositionalKeys","elementComputedStyle","applyAtEndHasBeenCopied","fromValueType","originBbox","originComputedStyle","targetBbox","convertPositionalUnits","bound","poserApi","addChild","op","appendEventListeners","reactPropsRegex","PoseParentConsumer","Consumer","PoseParentProvider","hasPose","testAlwaysTrue","filterProps","elementType","onValueChange","_pose","onPoseComplete","getParentPoseConfig","registerChild","onUnmount","getInitialPoseFromParent","popFromFlow","PoseElement","childrenHandlers","flushChildren","getInitialPose","setRef","shouldForwardProp","parentPose","initialPoses","getFirstPose","firstPose","getSetProps","popStyle","offsetLeft","offsetWidth","componentDidMount","onRegistered","initPoser","getSnapshotBeforeUpdate","componentDidUpdate","prevIsArray","nextIsArray","numPrev","setPose","componentWillUnmount","shouldPick","picked","componentCache","createComponentFactory","componentFactory","withParent","parentCtx","posed","component","getKey","prependProps","handleChildrenTransitions","newState","displayedChildren","finishedLeaving","hasInitialized","indexedChildren","scheduleChildRemoval","incomingChildren","preEnterPose","enterPose","exitPose","animateOnMount","flipMove","enterAfterExit","propsForChildren","onRest","targetChildren","makeChildList","nextState","prevKeys","nextKeys","hasPropsForChildren","entering","leaving","newlyLeaving","isLeaving","moving","newChildProps","newChild","cloneElement","handleTransition","list","Children","Transition","leavingKey","shouldComponentUpdate","getDerivedStateFromProps","PoseGroup","ContentAnchor","PosedContentContainer","hidden","effectStart","effectEnd","_CopiedContentIndicator","copiedContent","useImperativeHandle","trigger","CopiedContentIndicator","Customizer","src","baseUrl","exampleNamedParams","exampleQueryParams","indicatorRef","setPath","setQueryString","pathIsComplete","setPathIsComplete","markup","setMarkup","setMessage","generateBuiltBadgeUrl","copyMarkup","builtBadgeUrl","clipboardCopy","staticBadgeUrl","alt","SpacedA","Footer","H2","badgeUrlFromPath","href","CodeContainer","truncate","StyledCode","Snippet","snippet","basicChars","part","removeRegexpFromPattern","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","GenStateSuspendedStart","method","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","awrap","async","iter","skipTempReset","rootRecord","rval","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function"],"mappings":"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tG,GAAazK,GAAI,WAAgB,KAAMA,GAAI,OAAQ,CACpDpT,GAAI,kBACHskB,GAAelR,GAAI,OAAQ,CAC5BpT,GAAI,gBACHmlB,MAGDC,GAAa,CAAC,CAChBC,KAAM,IACNC,QAAS,sCACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,KACNC,QAAS,OACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,KACNC,QAAS,MACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,IACNC,QAAS,aACR,CACDD,KAAM,IACNC,QAAS,gBACR,CACDD,KAAM,IACNC,QAAS,kBACR,CACDD,KAAM,KACNC,QAAS,MACR,CACDD,KAAM,KACNC,QAAS,MACR,CACDD,KAAM,IACNC,QAAS,kCACR,CACDD,KAAM,IACNC,QAAS,UACR,CACDD,KAAM,IACNC,QAAS,mBACR,CACDD,KAAM,IACNC,QAAS,kBACR,CACDD,KAAM,IACNC,QAAS,wBACR,CACDD,KAAM,IACNC,QAAS,SACR,CACDD,KAAM,IACNC,QAAS,kBACR,CACDD,KAAM,IACNC,QAAS,sBACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,IACNC,QAAS,YACR,CACDD,KAAM,IACNC,QAAS,oBACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,IACNC,QAAS,+CACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,IACNC,QAAS,cACR,CACDD,KAAM,IACNC,QAAS,UACR,CACDD,KAAM,IACNC,QAAS,qBACR,CACDD,KAAM,IACNC,QAAS,qBACR,CACDD,KAAM,IACNC,QAAS,mBACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,IACNC,QAAS,sCACR,CACDD,KAAM,IACNC,QAAS,YACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,IACNC,QAAS,cACR,CACDD,KAAM,IACNC,QAAS,SACR,CACDD,KAAM,IACNC,QAAS,mBACR,CACDD,KAAM,IACNC,QAAS,kBACR,CACDD,KAAM,IACNC,QAAS,uCACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,KACNC,QAAS,OACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,KACNC,QAAS,MACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,IACNC,QAAS,aACR,CACDD,KAAM,IACNC,QAAS,iBACR,CACDD,KAAM,IACNC,QAAS,kBACR,CACDD,KAAM,KACNC,QAAS,MACR,CACDD,KAAM,IACNC,QAAS,mCACR,CACDD,KAAM,IACNC,QAAS,UACR,CACDD,KAAM,IACNC,QAAS,mBACR,CACDD,KAAM,IACNC,QAAS,mBACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,IACNC,QAAS,wBACR,CACDD,KAAM,IACNC,QAAS,UACR,CACDD,KAAM,IACNC,QAAS,kBACR,CACDD,KAAM,IACNC,QAAS,uBACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,IACNC,QAAS,YACR,CACDD,KAAM,IACNC,QAAS,qBACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,IACNC,QAAS,+CACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,IACNC,QAAS,cACR,CACDD,KAAM,IACNC,QAAS,UACR,CACDD,KAAM,IACNC,QAAS,qBACR,CACDD,KAAM,IACNC,QAAS,sBACR,CACDD,KAAM,IACNC,QAAS,oBACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,IACNC,QAAS,sCACR,CACDD,KAAM,IACNC,QAAS,YACR,CACDD,KAAM,KACNC,QAAS,KACR,CACDD,KAAM,IACNC,QAAS,eACR,CACDD,KAAM,IACNC,QAAS,SACR,CACDD,KAAM,IACNC,QAAS,oBACR,CACDD,KAAM,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","file":"579a95ec5c512c346b8dd488d819894511ff6341-18b9b1195d1d4da920ff.js","sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;","function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}\n\nmodule.exports = _taggedTemplateLiteral;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","module.exports = require(\"regenerator-runtime\");\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _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\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _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\nfunction _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 * This component is wrapped around any part of a page.\n * When that part of the page is clicked, it selects\n * the text within.\n */\n\n\nvar ClickToSelect = function (_React$PureComponent) {\n _inherits(ClickToSelect, _React$PureComponent);\n\n function ClickToSelect() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, ClickToSelect);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ClickToSelect.__proto__ || Object.getPrototypeOf(ClickToSelect)).call.apply(_ref, [this].concat(args))), _this), _this.select = function (e) {\n var onSelect = _this.props.onSelect;\n e.preventDefault();\n var range = document.createRange();\n var sel = window.getSelection();\n range.selectNodeContents(_this._target);\n sel.removeAllRanges();\n sel.addRange(range);\n if (onSelect) onSelect();\n }, _this.getRef = function (target) {\n _this._target = target;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(ClickToSelect, [{\n key: 'render',\n value: function render() {\n var Element = this.props.containerElement;\n return _react2.default.createElement(Element, {\n ref: this.getRef,\n onClick: this.select\n }, this.props.children);\n }\n }]);\n\n return ClickToSelect;\n}(_react2.default.PureComponent);\n\nClickToSelect.propTypes = {\n children: _propTypes2.default.any.isRequired,\n containerElement: _propTypes2.default.oneOf(['span', 'div']),\n onSelect: _propTypes2.default.func\n};\nClickToSelect.defaultProps = {\n containerElement: 'span'\n};\nexports.default = ClickToSelect;","var _regeneratorRuntime = require(\"/usr/src/app/node_modules/@babel/runtime/regenerator\");\n\nvar _asyncToGenerator = require(\"/usr/src/app/node_modules/@babel/runtime/helpers/asyncToGenerator\");\n\n/*! clipboard-copy. MIT License. Feross Aboukhadijeh */\n\n/* global DOMException */\nmodule.exports = clipboardCopy;\n\nfunction makeError() {\n return new DOMException('The request is not allowed', 'NotAllowedError');\n}\n\nfunction copyClipboardApi(_x) {\n return _copyClipboardApi.apply(this, arguments);\n}\n\nfunction _copyClipboardApi() {\n _copyClipboardApi = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(text) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (navigator.clipboard) {\n _context.next = 2;\n break;\n }\n\n throw makeError();\n\n case 2:\n return _context.abrupt(\"return\", navigator.clipboard.writeText(text));\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _copyClipboardApi.apply(this, arguments);\n}\n\nfunction copyExecCommand(_x2) {\n return _copyExecCommand.apply(this, arguments);\n}\n\nfunction _copyExecCommand() {\n _copyExecCommand = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(text) {\n var span, selection, range, success;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n // Put the text to copy into a \n span = document.createElement('span');\n span.textContent = text; // Preserve consecutive spaces and newlines\n\n span.style.whiteSpace = 'pre';\n span.style.webkitUserSelect = 'auto';\n span.style.userSelect = 'all'; // Add the to the page\n\n document.body.appendChild(span); // Make a selection object representing the range of text selected by the user\n\n selection = window.getSelection();\n range = window.document.createRange();\n selection.removeAllRanges();\n range.selectNode(span);\n selection.addRange(range); // Copy text to the clipboard\n\n success = false;\n\n try {\n success = window.document.execCommand('copy');\n } finally {\n // Cleanup\n selection.removeAllRanges();\n window.document.body.removeChild(span);\n }\n\n if (success) {\n _context2.next = 15;\n break;\n }\n\n throw makeError();\n\n case 15:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _copyExecCommand.apply(this, arguments);\n}\n\nfunction clipboardCopy(_x3) {\n return _clipboardCopy.apply(this, arguments);\n}\n\nfunction _clipboardCopy() {\n _clipboardCopy = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(text) {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.prev = 0;\n _context3.next = 3;\n return copyClipboardApi(text);\n\n case 3:\n _context3.next = 15;\n break;\n\n case 5:\n _context3.prev = 5;\n _context3.t0 = _context3[\"catch\"](0);\n _context3.prev = 7;\n _context3.next = 10;\n return copyExecCommand(text);\n\n case 10:\n _context3.next = 15;\n break;\n\n case 12:\n _context3.prev = 12;\n _context3.t1 = _context3[\"catch\"](7);\n throw _context3.t1 || _context3.t0 || makeError();\n\n case 15:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, null, [[0, 5], [7, 12]]);\n }));\n return _clipboardCopy.apply(this, arguments);\n}","'use strict';\n\nvar decamelize = require('decamelize');\n\nvar humanizeString = function humanizeString(input) {\n if (typeof input !== 'string') {\n throw new TypeError('Expected a string');\n }\n\n input = decamelize(input);\n input = input.toLowerCase().replace(/[_-]+/g, ' ').replace(/\\s{2,}/g, ' ').trim();\n input = input.charAt(0).toUpperCase() + input.slice(1);\n return input;\n};\n\nmodule.exports = humanizeString; // TODO: Remove this for the next major release\n\nmodule.exports.default = humanizeString;","'use strict';\n\nvar xRegExp = require('xregexp');\n\nmodule.exports = function (text, separator) {\n if (typeof text !== 'string') {\n throw new TypeError('Expected a string');\n }\n\n separator = typeof separator === 'undefined' ? '_' : separator;\n var regex1 = xRegExp('([\\\\p{Ll}\\\\d])(\\\\p{Lu})', 'g');\n var regex2 = xRegExp('(\\\\p{Lu}+)(\\\\p{Lu}[\\\\p{Ll}\\\\d]+)', 'g');\n return text // TODO: Use this instead of `xregexp` when targeting Node.js 10:\n // .replace(/([\\p{Lowercase_Letter}\\d])(\\p{Uppercase_Letter})/gu, `$1${separator}$2`)\n // .replace(/(\\p{Lowercase_Letter}+)(\\p{Uppercase_Letter}[\\p{Lowercase_Letter}\\d]+)/gu, `$1${separator}$2`)\n .replace(regex1, \"$1\".concat(separator, \"$2\")).replace(regex2, \"$1\".concat(separator, \"$2\")).toLowerCase();\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/*!\n * XRegExp.build 4.0.0\n * \n * Steven Levithan (c) 2012-2017 MIT License\n */\n\nexports.default = function (XRegExp) {\n var REGEX_DATA = 'xregexp';\n var subParts = /(\\()(?!\\?)|\\\\([1-9]\\d*)|\\\\[\\s\\S]|\\[(?:[^\\\\\\]]|\\\\[\\s\\S])*\\]/g;\n var parts = XRegExp.union([/\\({{([\\w$]+)}}\\)|{{([\\w$]+)}}/, subParts], 'g', {\n conjunction: 'or'\n });\n /**\n * Strips a leading `^` and trailing unescaped `$`, if both are present.\n *\n * @private\n * @param {String} pattern Pattern to process.\n * @returns {String} Pattern with edge anchors removed.\n */\n\n function deanchor(pattern) {\n // Allow any number of empty noncapturing groups before/after anchors, because regexes\n // built/generated by XRegExp sometimes include them\n var leadingAnchor = /^(?:\\(\\?:\\))*\\^/;\n var trailingAnchor = /\\$(?:\\(\\?:\\))*$/;\n\n if (leadingAnchor.test(pattern) && trailingAnchor.test(pattern) && // Ensure that the trailing `$` isn't escaped\n trailingAnchor.test(pattern.replace(/\\\\[\\s\\S]/g, ''))) {\n return pattern.replace(leadingAnchor, '').replace(trailingAnchor, '');\n }\n\n return pattern;\n }\n /**\n * Converts the provided value to an XRegExp. Native RegExp flags are not preserved.\n *\n * @private\n * @param {String|RegExp} value Value to convert.\n * @param {Boolean} [addFlagX] Whether to apply the `x` flag in cases when `value` is not\n * already a regex generated by XRegExp\n * @returns {RegExp} XRegExp object with XRegExp syntax applied.\n */\n\n\n function asXRegExp(value, addFlagX) {\n var flags = addFlagX ? 'x' : '';\n return XRegExp.isRegExp(value) ? value[REGEX_DATA] && value[REGEX_DATA].captureNames ? // Don't recompile, to preserve capture names\n value : // Recompile as XRegExp\n XRegExp(value.source, flags) : // Compile string as XRegExp\n XRegExp(value, flags);\n }\n\n function interpolate(substitution) {\n return substitution instanceof RegExp ? substitution : XRegExp.escape(substitution);\n }\n\n function reduceToSubpatternsObject(subpatterns, interpolated, subpatternIndex) {\n subpatterns['subpattern' + subpatternIndex] = interpolated;\n return subpatterns;\n }\n\n function embedSubpatternAfter(raw, subpatternIndex, rawLiterals) {\n var hasSubpattern = subpatternIndex < rawLiterals.length - 1;\n return raw + (hasSubpattern ? '{{subpattern' + subpatternIndex + '}}' : '');\n }\n /**\n * Provides tagged template literals that create regexes with XRegExp syntax and flags. The\n * provided pattern is handled as a raw string, so backslashes don't need to be escaped.\n *\n * Interpolation of strings and regexes shares the features of `XRegExp.build`. Interpolated\n * patterns are treated as atomic units when quantified, interpolated strings have their special\n * characters escaped, a leading `^` and trailing unescaped `$` are stripped from interpolated\n * regexes if both are present, and any backreferences within an interpolated regex are\n * rewritten to work within the overall pattern.\n *\n * @memberOf XRegExp\n * @param {String} [flags] Any combination of XRegExp flags.\n * @returns {Function} Handler for template literals that construct regexes with XRegExp syntax.\n * @example\n *\n * const h12 = /1[0-2]|0?[1-9]/;\n * const h24 = /2[0-3]|[01][0-9]/;\n * const hours = XRegExp.tag('x')`${h12} : | ${h24}`;\n * const minutes = /^[0-5][0-9]$/;\n * // Note that explicitly naming the 'minutes' group is required for named backreferences\n * const time = XRegExp.tag('x')`^ ${hours} (?${minutes}) $`;\n * time.test('10:59'); // -> true\n * XRegExp.exec('10:59', time).minutes; // -> '59'\n */\n\n\n XRegExp.tag = function (flags) {\n return function (literals) {\n for (var _len = arguments.length, substitutions = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n substitutions[_key - 1] = arguments[_key];\n }\n\n var subpatterns = substitutions.map(interpolate).reduce(reduceToSubpatternsObject, {});\n var pattern = literals.raw.map(embedSubpatternAfter).join('');\n return XRegExp.build(pattern, subpatterns, flags);\n };\n };\n /**\n * Builds regexes using named subpatterns, for readability and pattern reuse. Backreferences in\n * the outer pattern and provided subpatterns are automatically renumbered to work correctly.\n * Native flags used by provided subpatterns are ignored in favor of the `flags` argument.\n *\n * @memberOf XRegExp\n * @param {String} pattern XRegExp pattern using `{{name}}` for embedded subpatterns. Allows\n * `({{name}})` as shorthand for `(?{{name}})`. Patterns cannot be embedded within\n * character classes.\n * @param {Object} subs Lookup object for named subpatterns. Values can be strings or regexes. A\n * leading `^` and trailing unescaped `$` are stripped from subpatterns, if both are present.\n * @param {String} [flags] Any combination of XRegExp flags.\n * @returns {RegExp} Regex with interpolated subpatterns.\n * @example\n *\n * const time = XRegExp.build('(?x)^ {{hours}} ({{minutes}}) $', {\n * hours: XRegExp.build('{{h12}} : | {{h24}}', {\n * h12: /1[0-2]|0?[1-9]/,\n * h24: /2[0-3]|[01][0-9]/\n * }, 'x'),\n * minutes: /^[0-5][0-9]$/\n * });\n * time.test('10:59'); // -> true\n * XRegExp.exec('10:59', time).minutes; // -> '59'\n */\n\n\n XRegExp.build = function (pattern, subs, flags) {\n flags = flags || ''; // Used with `asXRegExp` calls for `pattern` and subpatterns in `subs`, to work around how\n // some browsers convert `RegExp('\\n')` to a regex that contains the literal characters `\\`\n // and `n`. See more details at .\n\n var addFlagX = flags.indexOf('x') !== -1;\n var inlineFlags = /^\\(\\?([\\w$]+)\\)/.exec(pattern); // Add flags within a leading mode modifier to the overall pattern's flags\n\n if (inlineFlags) {\n flags = XRegExp._clipDuplicates(flags + inlineFlags[1]);\n }\n\n var data = {};\n\n for (var p in subs) {\n if (subs.hasOwnProperty(p)) {\n // Passing to XRegExp enables extended syntax and ensures independent validity,\n // lest an unescaped `(`, `)`, `[`, or trailing `\\` breaks the `(?:)` wrapper. For\n // subpatterns provided as native regexes, it dies on octals and adds the property\n // used to hold extended regex instance data, for simplicity.\n var sub = asXRegExp(subs[p], addFlagX);\n data[p] = {\n // Deanchoring allows embedding independently useful anchored regexes. If you\n // really need to keep your anchors, double them (i.e., `^^...$$`).\n pattern: deanchor(sub.source),\n names: sub[REGEX_DATA].captureNames || []\n };\n }\n } // Passing to XRegExp dies on octals and ensures the outer pattern is independently valid;\n // helps keep this simple. Named captures will be put back.\n\n\n var patternAsRegex = asXRegExp(pattern, addFlagX); // 'Caps' is short for 'captures'\n\n var numCaps = 0;\n var numPriorCaps = void 0;\n var numOuterCaps = 0;\n var outerCapsMap = [0];\n var outerCapNames = patternAsRegex[REGEX_DATA].captureNames || [];\n var output = patternAsRegex.source.replace(parts, function ($0, $1, $2, $3, $4) {\n var subName = $1 || $2;\n var capName = void 0;\n var intro = void 0;\n var localCapIndex = void 0; // Named subpattern\n\n if (subName) {\n if (!data.hasOwnProperty(subName)) {\n throw new ReferenceError('Undefined property ' + $0);\n } // Named subpattern was wrapped in a capturing group\n\n\n if ($1) {\n capName = outerCapNames[numOuterCaps];\n outerCapsMap[++numOuterCaps] = ++numCaps; // If it's a named group, preserve the name. Otherwise, use the subpattern name\n // as the capture name\n\n intro = '(?<' + (capName || subName) + '>';\n } else {\n intro = '(?:';\n }\n\n numPriorCaps = numCaps;\n var rewrittenSubpattern = data[subName].pattern.replace(subParts, function (match, paren, backref) {\n // Capturing group\n if (paren) {\n capName = data[subName].names[numCaps - numPriorCaps];\n ++numCaps; // If the current capture has a name, preserve the name\n\n if (capName) {\n return '(?<' + capName + '>';\n } // Backreference\n\n } else if (backref) {\n localCapIndex = +backref - 1; // Rewrite the backreference\n\n return data[subName].names[localCapIndex] ? // Need to preserve the backreference name in case using flag `n`\n '\\\\k<' + data[subName].names[localCapIndex] + '>' : '\\\\' + (+backref + numPriorCaps);\n }\n\n return match;\n });\n return '' + intro + rewrittenSubpattern + ')';\n } // Capturing group\n\n\n if ($3) {\n capName = outerCapNames[numOuterCaps];\n outerCapsMap[++numOuterCaps] = ++numCaps; // If the current capture has a name, preserve the name\n\n if (capName) {\n return '(?<' + capName + '>';\n } // Backreference\n\n } else if ($4) {\n localCapIndex = +$4 - 1; // Rewrite the backreference\n\n return outerCapNames[localCapIndex] ? // Need to preserve the backreference name in case using flag `n`\n '\\\\k<' + outerCapNames[localCapIndex] + '>' : '\\\\' + outerCapsMap[+$4];\n }\n\n return $0;\n });\n return XRegExp(output, flags);\n };\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/*!\n * XRegExp.matchRecursive 4.0.0\n * \n * Steven Levithan (c) 2009-2017 MIT License\n */\n\nexports.default = function (XRegExp) {\n /**\n * Returns a match detail object composed of the provided values.\n *\n * @private\n */\n function row(name, value, start, end) {\n return {\n name: name,\n value: value,\n start: start,\n end: end\n };\n }\n /**\n * Returns an array of match strings between outermost left and right delimiters, or an array of\n * objects with detailed match parts and position data. An error is thrown if delimiters are\n * unbalanced within the data.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {String} left Left delimiter as an XRegExp pattern.\n * @param {String} right Right delimiter as an XRegExp pattern.\n * @param {String} [flags] Any native or XRegExp flags, used for the left and right delimiters.\n * @param {Object} [options] Lets you specify `valueNames` and `escapeChar` options.\n * @returns {Array} Array of matches, or an empty array.\n * @example\n *\n * // Basic usage\n * let str = '(t((e))s)t()(ing)';\n * XRegExp.matchRecursive(str, '\\\\(', '\\\\)', 'g');\n * // -> ['t((e))s', '', 'ing']\n *\n * // Extended information mode with valueNames\n * str = 'Here is
an
example';\n * XRegExp.matchRecursive(str, '', '', 'gi', {\n * valueNames: ['between', 'left', 'match', 'right']\n * });\n * // -> [\n * // {name: 'between', value: 'Here is ', start: 0, end: 8},\n * // {name: 'left', value: '
', start: 8, end: 13},\n * // {name: 'match', value: '
an
', start: 13, end: 27},\n * // {name: 'right', value: '
', start: 27, end: 33},\n * // {name: 'between', value: ' example', start: 33, end: 41}\n * // ]\n *\n * // Omitting unneeded parts with null valueNames, and using escapeChar\n * str = '...{1}.\\\\{{function(x,y){return {y:x}}}';\n * XRegExp.matchRecursive(str, '{', '}', 'g', {\n * valueNames: ['literal', null, 'value', null],\n * escapeChar: '\\\\'\n * });\n * // -> [\n * // {name: 'literal', value: '...', start: 0, end: 3},\n * // {name: 'value', value: '1', start: 4, end: 5},\n * // {name: 'literal', value: '.\\\\{', start: 6, end: 9},\n * // {name: 'value', value: 'function(x,y){return {y:x}}', start: 10, end: 37}\n * // ]\n *\n * // Sticky mode via flag y\n * str = '<1><<<2>>><3>4<5>';\n * XRegExp.matchRecursive(str, '<', '>', 'gy');\n * // -> ['1', '<<2>>', '3']\n */\n\n\n XRegExp.matchRecursive = function (str, left, right, flags, options) {\n flags = flags || '';\n options = options || {};\n var global = flags.indexOf('g') !== -1;\n var sticky = flags.indexOf('y') !== -1; // Flag `y` is controlled internally\n\n var basicFlags = flags.replace(/y/g, '');\n var escapeChar = options.escapeChar;\n var vN = options.valueNames;\n var output = [];\n var openTokens = 0;\n var delimStart = 0;\n var delimEnd = 0;\n var lastOuterEnd = 0;\n var outerStart = void 0;\n var innerStart = void 0;\n var leftMatch = void 0;\n var rightMatch = void 0;\n var esc = void 0;\n left = XRegExp(left, basicFlags);\n right = XRegExp(right, basicFlags);\n\n if (escapeChar) {\n if (escapeChar.length > 1) {\n throw new Error('Cannot use more than one escape character');\n }\n\n escapeChar = XRegExp.escape(escapeChar); // Example of concatenated `esc` regex:\n // `escapeChar`: '%'\n // `left`: '<'\n // `right`: '>'\n // Regex is: /(?:%[\\S\\s]|(?:(?!<|>)[^%])+)+/\n\n esc = new RegExp('(?:' + escapeChar + '[\\\\S\\\\s]|(?:(?!' + // Using `XRegExp.union` safely rewrites backreferences in `left` and `right`.\n // Intentionally not passing `basicFlags` to `XRegExp.union` since any syntax\n // transformation resulting from those flags was already applied to `left` and\n // `right` when they were passed through the XRegExp constructor above.\n XRegExp.union([left, right], '', {\n conjunction: 'or'\n }).source + ')[^' + escapeChar + '])+)+', // Flags `gy` not needed here\n flags.replace(/[^imu]+/g, ''));\n }\n\n while (true) {\n // If using an escape character, advance to the delimiter's next starting position,\n // skipping any escaped characters in between\n if (escapeChar) {\n delimEnd += (XRegExp.exec(str, esc, delimEnd, 'sticky') || [''])[0].length;\n }\n\n leftMatch = XRegExp.exec(str, left, delimEnd);\n rightMatch = XRegExp.exec(str, right, delimEnd); // Keep the leftmost match only\n\n if (leftMatch && rightMatch) {\n if (leftMatch.index <= rightMatch.index) {\n rightMatch = null;\n } else {\n leftMatch = null;\n }\n } // Paths (LM: leftMatch, RM: rightMatch, OT: openTokens):\n // LM | RM | OT | Result\n // 1 | 0 | 1 | loop\n // 1 | 0 | 0 | loop\n // 0 | 1 | 1 | loop\n // 0 | 1 | 0 | throw\n // 0 | 0 | 1 | throw\n // 0 | 0 | 0 | break\n // The paths above don't include the sticky mode special case. The loop ends after the\n // first completed match if not `global`.\n\n\n if (leftMatch || rightMatch) {\n delimStart = (leftMatch || rightMatch).index;\n delimEnd = delimStart + (leftMatch || rightMatch)[0].length;\n } else if (!openTokens) {\n break;\n }\n\n if (sticky && !openTokens && delimStart > lastOuterEnd) {\n break;\n }\n\n if (leftMatch) {\n if (!openTokens) {\n outerStart = delimStart;\n innerStart = delimEnd;\n }\n\n ++openTokens;\n } else if (rightMatch && openTokens) {\n if (! --openTokens) {\n if (vN) {\n if (vN[0] && outerStart > lastOuterEnd) {\n output.push(row(vN[0], str.slice(lastOuterEnd, outerStart), lastOuterEnd, outerStart));\n }\n\n if (vN[1]) {\n output.push(row(vN[1], str.slice(outerStart, innerStart), outerStart, innerStart));\n }\n\n if (vN[2]) {\n output.push(row(vN[2], str.slice(innerStart, delimStart), innerStart, delimStart));\n }\n\n if (vN[3]) {\n output.push(row(vN[3], str.slice(delimStart, delimEnd), delimStart, delimEnd));\n }\n } else {\n output.push(str.slice(innerStart, delimStart));\n }\n\n lastOuterEnd = delimEnd;\n\n if (!global) {\n break;\n }\n }\n } else {\n throw new Error('Unbalanced delimiter found in string');\n } // If the delimiter matched an empty string, avoid an infinite loop\n\n\n if (delimStart === delimEnd) {\n ++delimEnd;\n }\n }\n\n if (global && !sticky && vN && vN[0] && str.length > lastOuterEnd) {\n output.push(row(vN[0], str.slice(lastOuterEnd), lastOuterEnd, str.length));\n }\n\n return output;\n };\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/*!\n * XRegExp Unicode Base 4.0.0\n * \n * Steven Levithan (c) 2008-2017 MIT License\n */\n\nexports.default = function (XRegExp) {\n /**\n * Adds base support for Unicode matching:\n * - Adds syntax `\\p{..}` for matching Unicode tokens. Tokens can be inverted using `\\P{..}` or\n * `\\p{^..}`. Token names ignore case, spaces, hyphens, and underscores. You can omit the\n * braces for token names that are a single letter (e.g. `\\pL` or `PL`).\n * - Adds flag A (astral), which enables 21-bit Unicode support.\n * - Adds the `XRegExp.addUnicodeData` method used by other addons to provide character data.\n *\n * Unicode Base relies on externally provided Unicode character data. Official addons are\n * available to provide data for Unicode categories, scripts, blocks, and properties.\n *\n * @requires XRegExp\n */\n // ==--------------------------==\n // Private stuff\n // ==--------------------------==\n // Storage for Unicode data\n var unicode = {}; // Reuse utils\n\n var dec = XRegExp._dec;\n var hex = XRegExp._hex;\n var pad4 = XRegExp._pad4; // Generates a token lookup name: lowercase, with hyphens, spaces, and underscores removed\n\n function normalize(name) {\n return name.replace(/[- _]+/g, '').toLowerCase();\n } // Gets the decimal code of a literal code unit, \\xHH, \\uHHHH, or a backslash-escaped literal\n\n\n function charCode(chr) {\n var esc = /^\\\\[xu](.+)/.exec(chr);\n return esc ? dec(esc[1]) : chr.charCodeAt(chr[0] === '\\\\' ? 1 : 0);\n } // Inverts a list of ordered BMP characters and ranges\n\n\n function invertBmp(range) {\n var output = '';\n var lastEnd = -1;\n XRegExp.forEach(range, /(\\\\x..|\\\\u....|\\\\?[\\s\\S])(?:-(\\\\x..|\\\\u....|\\\\?[\\s\\S]))?/, function (m) {\n var start = charCode(m[1]);\n\n if (start > lastEnd + 1) {\n output += \"\\\\u\" + pad4(hex(lastEnd + 1));\n\n if (start > lastEnd + 2) {\n output += \"-\\\\u\" + pad4(hex(start - 1));\n }\n }\n\n lastEnd = charCode(m[2] || m[1]);\n });\n\n if (lastEnd < 0xFFFF) {\n output += \"\\\\u\" + pad4(hex(lastEnd + 1));\n\n if (lastEnd < 0xFFFE) {\n output += \"-\\\\uFFFF\";\n }\n }\n\n return output;\n } // Generates an inverted BMP range on first use\n\n\n function cacheInvertedBmp(slug) {\n var prop = 'b!';\n return unicode[slug][prop] || (unicode[slug][prop] = invertBmp(unicode[slug].bmp));\n } // Combines and optionally negates BMP and astral data\n\n\n function buildAstral(slug, isNegated) {\n var item = unicode[slug];\n var combined = '';\n\n if (item.bmp && !item.isBmpLast) {\n combined = '[' + item.bmp + ']' + (item.astral ? '|' : '');\n }\n\n if (item.astral) {\n combined += item.astral;\n }\n\n if (item.isBmpLast && item.bmp) {\n combined += (item.astral ? '|' : '') + '[' + item.bmp + ']';\n } // Astral Unicode tokens always match a code point, never a code unit\n\n\n return isNegated ? '(?:(?!' + combined + \")(?:[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\0-\\uFFFF]))\" : '(?:' + combined + ')';\n } // Builds a complete astral pattern on first use\n\n\n function cacheAstral(slug, isNegated) {\n var prop = isNegated ? 'a!' : 'a=';\n return unicode[slug][prop] || (unicode[slug][prop] = buildAstral(slug, isNegated));\n } // ==--------------------------==\n // Core functionality\n // ==--------------------------==\n\n /*\n * Add astral mode (flag A) and Unicode token syntax: `\\p{..}`, `\\P{..}`, `\\p{^..}`, `\\pC`.\n */\n\n\n XRegExp.addToken( // Use `*` instead of `+` to avoid capturing `^` as the token name in `\\p{^}`\n /\\\\([pP])(?:{(\\^?)([^}]*)}|([A-Za-z]))/, function (match, scope, flags) {\n var ERR_DOUBLE_NEG = 'Invalid double negation ';\n var ERR_UNKNOWN_NAME = 'Unknown Unicode token ';\n var ERR_UNKNOWN_REF = 'Unicode token missing data ';\n var ERR_ASTRAL_ONLY = 'Astral mode required for Unicode token ';\n var ERR_ASTRAL_IN_CLASS = 'Astral mode does not support Unicode tokens within character classes'; // Negated via \\P{..} or \\p{^..}\n\n var isNegated = match[1] === 'P' || !!match[2]; // Switch from BMP (0-FFFF) to astral (0-10FFFF) mode via flag A\n\n var isAstralMode = flags.indexOf('A') !== -1; // Token lookup name. Check `[4]` first to avoid passing `undefined` via `\\p{}`\n\n var slug = normalize(match[4] || match[3]); // Token data object\n\n var item = unicode[slug];\n\n if (match[1] === 'P' && match[2]) {\n throw new SyntaxError(ERR_DOUBLE_NEG + match[0]);\n }\n\n if (!unicode.hasOwnProperty(slug)) {\n throw new SyntaxError(ERR_UNKNOWN_NAME + match[0]);\n } // Switch to the negated form of the referenced Unicode token\n\n\n if (item.inverseOf) {\n slug = normalize(item.inverseOf);\n\n if (!unicode.hasOwnProperty(slug)) {\n throw new ReferenceError(ERR_UNKNOWN_REF + match[0] + ' -> ' + item.inverseOf);\n }\n\n item = unicode[slug];\n isNegated = !isNegated;\n }\n\n if (!(item.bmp || isAstralMode)) {\n throw new SyntaxError(ERR_ASTRAL_ONLY + match[0]);\n }\n\n if (isAstralMode) {\n if (scope === 'class') {\n throw new SyntaxError(ERR_ASTRAL_IN_CLASS);\n }\n\n return cacheAstral(slug, isNegated);\n }\n\n return scope === 'class' ? isNegated ? cacheInvertedBmp(slug) : item.bmp : (isNegated ? '[^' : '[') + item.bmp + ']';\n }, {\n scope: 'all',\n optionalFlags: 'A',\n leadChar: '\\\\'\n });\n /**\n * Adds to the list of Unicode tokens that XRegExp regexes can match via `\\p` or `\\P`.\n *\n * @memberOf XRegExp\n * @param {Array} data Objects with named character ranges. Each object may have properties\n * `name`, `alias`, `isBmpLast`, `inverseOf`, `bmp`, and `astral`. All but `name` are\n * optional, although one of `bmp` or `astral` is required (unless `inverseOf` is set). If\n * `astral` is absent, the `bmp` data is used for BMP and astral modes. If `bmp` is absent,\n * the name errors in BMP mode but works in astral mode. If both `bmp` and `astral` are\n * provided, the `bmp` data only is used in BMP mode, and the combination of `bmp` and\n * `astral` data is used in astral mode. `isBmpLast` is needed when a token matches orphan\n * high surrogates *and* uses surrogate pairs to match astral code points. The `bmp` and\n * `astral` data should be a combination of literal characters and `\\xHH` or `\\uHHHH` escape\n * sequences, with hyphens to create ranges. Any regex metacharacters in the data should be\n * escaped, apart from range-creating hyphens. The `astral` data can additionally use\n * character classes and alternation, and should use surrogate pairs to represent astral code\n * points. `inverseOf` can be used to avoid duplicating character data if a Unicode token is\n * defined as the exact inverse of another token.\n * @example\n *\n * // Basic use\n * XRegExp.addUnicodeData([{\n * name: 'XDigit',\n * alias: 'Hexadecimal',\n * bmp: '0-9A-Fa-f'\n * }]);\n * XRegExp('\\\\p{XDigit}:\\\\p{Hexadecimal}+').test('0:3D'); // -> true\n */\n\n XRegExp.addUnicodeData = function (data) {\n var ERR_NO_NAME = 'Unicode token requires name';\n var ERR_NO_DATA = 'Unicode token has no character data ';\n var item = void 0;\n\n for (var i = 0; i < data.length; ++i) {\n item = data[i];\n\n if (!item.name) {\n throw new Error(ERR_NO_NAME);\n }\n\n if (!(item.inverseOf || item.bmp || item.astral)) {\n throw new Error(ERR_NO_DATA + item.name);\n }\n\n unicode[normalize(item.name)] = item;\n\n if (item.alias) {\n unicode[normalize(item.alias)] = item;\n }\n } // Reset the pattern cache used by the `XRegExp` constructor, since the same pattern and\n // flags might now produce different results\n\n\n XRegExp.cache.flush('patterns');\n };\n /**\n * @ignore\n *\n * Return a reference to the internal Unicode definition structure for the given Unicode\n * Property if the given name is a legal Unicode Property for use in XRegExp `\\p` or `\\P` regex\n * constructs.\n *\n * @memberOf XRegExp\n * @param {String} name Name by which the Unicode Property may be recognized (case-insensitive),\n * e.g. `'N'` or `'Number'`. The given name is matched against all registered Unicode\n * Properties and Property Aliases.\n * @returns {Object} Reference to definition structure when the name matches a Unicode Property.\n *\n * @note\n * For more info on Unicode Properties, see also http://unicode.org/reports/tr18/#Categories.\n *\n * @note\n * This method is *not* part of the officially documented API and may change or be removed in\n * the future. It is meant for userland code that wishes to reuse the (large) internal Unicode\n * structures set up by XRegExp.\n */\n\n\n XRegExp._getUnicodeProperty = function (name) {\n var slug = normalize(name);\n return unicode[slug];\n };\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/*!\n * XRegExp Unicode Blocks 4.0.0\n * \n * Steven Levithan (c) 2010-2017 MIT License\n * Unicode data by Mathias Bynens \n */\n\nexports.default = function (XRegExp) {\n /**\n * Adds support for all Unicode blocks. Block names use the prefix 'In'. E.g.,\n * `\\p{InBasicLatin}`. Token names are case insensitive, and any spaces, hyphens, and\n * underscores are ignored.\n *\n * Uses Unicode 9.0.0.\n *\n * @requires XRegExp, Unicode Base\n */\n if (!XRegExp.addUnicodeData) {\n throw new ReferenceError('Unicode Base must be loaded before Unicode Blocks');\n }\n\n XRegExp.addUnicodeData([{\n name: 'InAdlam',\n astral: \"\\uD83A[\\uDD00-\\uDD5F]\"\n }, {\n name: 'InAegean_Numbers',\n astral: \"\\uD800[\\uDD00-\\uDD3F]\"\n }, {\n name: 'InAhom',\n astral: \"\\uD805[\\uDF00-\\uDF3F]\"\n }, {\n name: 'InAlchemical_Symbols',\n astral: \"\\uD83D[\\uDF00-\\uDF7F]\"\n }, {\n name: 'InAlphabetic_Presentation_Forms',\n bmp: \"\\uFB00-\\uFB4F\"\n }, {\n name: 'InAnatolian_Hieroglyphs',\n astral: \"\\uD811[\\uDC00-\\uDE7F]\"\n }, {\n name: 'InAncient_Greek_Musical_Notation',\n astral: \"\\uD834[\\uDE00-\\uDE4F]\"\n }, {\n name: 'InAncient_Greek_Numbers',\n astral: \"\\uD800[\\uDD40-\\uDD8F]\"\n }, {\n name: 'InAncient_Symbols',\n astral: \"\\uD800[\\uDD90-\\uDDCF]\"\n }, {\n name: 'InArabic',\n bmp: \"\\u0600-\\u06FF\"\n }, {\n name: 'InArabic_Extended_A',\n bmp: \"\\u08A0-\\u08FF\"\n }, {\n name: 'InArabic_Mathematical_Alphabetic_Symbols',\n astral: \"\\uD83B[\\uDE00-\\uDEFF]\"\n }, {\n name: 'InArabic_Presentation_Forms_A',\n bmp: \"\\uFB50-\\uFDFF\"\n }, {\n name: 'InArabic_Presentation_Forms_B',\n bmp: \"\\uFE70-\\uFEFF\"\n }, {\n name: 'InArabic_Supplement',\n bmp: \"\\u0750-\\u077F\"\n }, {\n name: 'InArmenian',\n bmp: \"\\u0530-\\u058F\"\n }, {\n name: 'InArrows',\n bmp: \"\\u2190-\\u21FF\"\n }, {\n name: 'InAvestan',\n astral: \"\\uD802[\\uDF00-\\uDF3F]\"\n }, {\n name: 'InBalinese',\n bmp: \"\\u1B00-\\u1B7F\"\n }, {\n name: 'InBamum',\n bmp: \"\\uA6A0-\\uA6FF\"\n }, {\n name: 'InBamum_Supplement',\n astral: \"\\uD81A[\\uDC00-\\uDE3F]\"\n }, {\n name: 'InBasic_Latin',\n bmp: '\\0-\\x7F'\n }, {\n name: 'InBassa_Vah',\n astral: \"\\uD81A[\\uDED0-\\uDEFF]\"\n }, {\n name: 'InBatak',\n bmp: \"\\u1BC0-\\u1BFF\"\n }, {\n name: 'InBengali',\n bmp: \"\\u0980-\\u09FF\"\n }, {\n name: 'InBhaiksuki',\n astral: \"\\uD807[\\uDC00-\\uDC6F]\"\n }, {\n name: 'InBlock_Elements',\n bmp: \"\\u2580-\\u259F\"\n }, {\n name: 'InBopomofo',\n bmp: \"\\u3100-\\u312F\"\n }, {\n name: 'InBopomofo_Extended',\n bmp: \"\\u31A0-\\u31BF\"\n }, {\n name: 'InBox_Drawing',\n bmp: \"\\u2500-\\u257F\"\n }, {\n name: 'InBrahmi',\n astral: \"\\uD804[\\uDC00-\\uDC7F]\"\n }, {\n name: 'InBraille_Patterns',\n bmp: \"\\u2800-\\u28FF\"\n }, {\n name: 'InBuginese',\n bmp: \"\\u1A00-\\u1A1F\"\n }, {\n name: 'InBuhid',\n bmp: \"\\u1740-\\u175F\"\n }, {\n name: 'InByzantine_Musical_Symbols',\n astral: \"\\uD834[\\uDC00-\\uDCFF]\"\n }, {\n name: 'InCJK_Compatibility',\n bmp: \"\\u3300-\\u33FF\"\n }, {\n name: 'InCJK_Compatibility_Forms',\n bmp: \"\\uFE30-\\uFE4F\"\n }, {\n name: 'InCJK_Compatibility_Ideographs',\n bmp: \"\\uF900-\\uFAFF\"\n }, {\n name: 'InCJK_Compatibility_Ideographs_Supplement',\n astral: \"\\uD87E[\\uDC00-\\uDE1F]\"\n }, {\n name: 'InCJK_Radicals_Supplement',\n bmp: \"\\u2E80-\\u2EFF\"\n }, {\n name: 'InCJK_Strokes',\n bmp: \"\\u31C0-\\u31EF\"\n }, {\n name: 'InCJK_Symbols_and_Punctuation',\n bmp: \"\\u3000-\\u303F\"\n }, {\n name: 'InCJK_Unified_Ideographs',\n bmp: \"\\u4E00-\\u9FFF\"\n }, {\n name: 'InCJK_Unified_Ideographs_Extension_A',\n bmp: \"\\u3400-\\u4DBF\"\n }, {\n name: 'InCJK_Unified_Ideographs_Extension_B',\n astral: \"[\\uD840-\\uD868][\\uDC00-\\uDFFF]|\\uD869[\\uDC00-\\uDEDF]\"\n }, {\n name: 'InCJK_Unified_Ideographs_Extension_C',\n astral: \"\\uD869[\\uDF00-\\uDFFF]|[\\uD86A-\\uD86C][\\uDC00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF3F]\"\n }, {\n name: 'InCJK_Unified_Ideographs_Extension_D',\n astral: \"\\uD86D[\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1F]\"\n }, {\n name: 'InCJK_Unified_Ideographs_Extension_E',\n astral: \"\\uD86E[\\uDC20-\\uDFFF]|[\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD873[\\uDC00-\\uDEAF]\"\n }, {\n name: 'InCarian',\n astral: \"\\uD800[\\uDEA0-\\uDEDF]\"\n }, {\n name: 'InCaucasian_Albanian',\n astral: \"\\uD801[\\uDD30-\\uDD6F]\"\n }, {\n name: 'InChakma',\n astral: \"\\uD804[\\uDD00-\\uDD4F]\"\n }, {\n name: 'InCham',\n bmp: \"\\uAA00-\\uAA5F\"\n }, {\n name: 'InCherokee',\n bmp: \"\\u13A0-\\u13FF\"\n }, {\n name: 'InCherokee_Supplement',\n bmp: \"\\uAB70-\\uABBF\"\n }, {\n name: 'InCombining_Diacritical_Marks',\n bmp: \"\\u0300-\\u036F\"\n }, {\n name: 'InCombining_Diacritical_Marks_Extended',\n bmp: \"\\u1AB0-\\u1AFF\"\n }, {\n name: 'InCombining_Diacritical_Marks_Supplement',\n bmp: \"\\u1DC0-\\u1DFF\"\n }, {\n name: 'InCombining_Diacritical_Marks_for_Symbols',\n bmp: \"\\u20D0-\\u20FF\"\n }, {\n name: 'InCombining_Half_Marks',\n bmp: \"\\uFE20-\\uFE2F\"\n }, {\n name: 'InCommon_Indic_Number_Forms',\n bmp: \"\\uA830-\\uA83F\"\n }, {\n name: 'InControl_Pictures',\n bmp: \"\\u2400-\\u243F\"\n }, {\n name: 'InCoptic',\n bmp: \"\\u2C80-\\u2CFF\"\n }, {\n name: 'InCoptic_Epact_Numbers',\n astral: \"\\uD800[\\uDEE0-\\uDEFF]\"\n }, {\n name: 'InCounting_Rod_Numerals',\n astral: \"\\uD834[\\uDF60-\\uDF7F]\"\n }, {\n name: 'InCuneiform',\n astral: \"\\uD808[\\uDC00-\\uDFFF]\"\n }, {\n name: 'InCuneiform_Numbers_and_Punctuation',\n astral: \"\\uD809[\\uDC00-\\uDC7F]\"\n }, {\n name: 'InCurrency_Symbols',\n bmp: \"\\u20A0-\\u20CF\"\n }, {\n name: 'InCypriot_Syllabary',\n astral: \"\\uD802[\\uDC00-\\uDC3F]\"\n }, {\n name: 'InCyrillic',\n bmp: \"\\u0400-\\u04FF\"\n }, {\n name: 'InCyrillic_Extended_A',\n bmp: \"\\u2DE0-\\u2DFF\"\n }, {\n name: 'InCyrillic_Extended_B',\n bmp: \"\\uA640-\\uA69F\"\n }, {\n name: 'InCyrillic_Extended_C',\n bmp: \"\\u1C80-\\u1C8F\"\n }, {\n name: 'InCyrillic_Supplement',\n bmp: \"\\u0500-\\u052F\"\n }, {\n name: 'InDeseret',\n astral: \"\\uD801[\\uDC00-\\uDC4F]\"\n }, {\n name: 'InDevanagari',\n bmp: \"\\u0900-\\u097F\"\n }, {\n name: 'InDevanagari_Extended',\n bmp: \"\\uA8E0-\\uA8FF\"\n }, {\n name: 'InDingbats',\n bmp: \"\\u2700-\\u27BF\"\n }, {\n name: 'InDomino_Tiles',\n astral: \"\\uD83C[\\uDC30-\\uDC9F]\"\n }, {\n name: 'InDuployan',\n astral: \"\\uD82F[\\uDC00-\\uDC9F]\"\n }, {\n name: 'InEarly_Dynastic_Cuneiform',\n astral: \"\\uD809[\\uDC80-\\uDD4F]\"\n }, {\n name: 'InEgyptian_Hieroglyphs',\n astral: \"\\uD80C[\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2F]\"\n }, {\n name: 'InElbasan',\n astral: \"\\uD801[\\uDD00-\\uDD2F]\"\n }, {\n name: 'InEmoticons',\n astral: \"\\uD83D[\\uDE00-\\uDE4F]\"\n }, {\n name: 'InEnclosed_Alphanumeric_Supplement',\n astral: \"\\uD83C[\\uDD00-\\uDDFF]\"\n }, {\n name: 'InEnclosed_Alphanumerics',\n bmp: \"\\u2460-\\u24FF\"\n }, {\n name: 'InEnclosed_CJK_Letters_and_Months',\n bmp: \"\\u3200-\\u32FF\"\n }, {\n name: 'InEnclosed_Ideographic_Supplement',\n astral: \"\\uD83C[\\uDE00-\\uDEFF]\"\n }, {\n name: 'InEthiopic',\n bmp: \"\\u1200-\\u137F\"\n }, {\n name: 'InEthiopic_Extended',\n bmp: \"\\u2D80-\\u2DDF\"\n }, {\n name: 'InEthiopic_Extended_A',\n bmp: \"\\uAB00-\\uAB2F\"\n }, {\n name: 'InEthiopic_Supplement',\n bmp: \"\\u1380-\\u139F\"\n }, {\n name: 'InGeneral_Punctuation',\n bmp: \"\\u2000-\\u206F\"\n }, {\n name: 'InGeometric_Shapes',\n bmp: \"\\u25A0-\\u25FF\"\n }, {\n name: 'InGeometric_Shapes_Extended',\n astral: \"\\uD83D[\\uDF80-\\uDFFF]\"\n }, {\n name: 'InGeorgian',\n bmp: \"\\u10A0-\\u10FF\"\n }, {\n name: 'InGeorgian_Supplement',\n bmp: \"\\u2D00-\\u2D2F\"\n }, {\n name: 'InGlagolitic',\n bmp: \"\\u2C00-\\u2C5F\"\n }, {\n name: 'InGlagolitic_Supplement',\n astral: \"\\uD838[\\uDC00-\\uDC2F]\"\n }, {\n name: 'InGothic',\n astral: \"\\uD800[\\uDF30-\\uDF4F]\"\n }, {\n name: 'InGrantha',\n astral: \"\\uD804[\\uDF00-\\uDF7F]\"\n }, {\n name: 'InGreek_Extended',\n bmp: \"\\u1F00-\\u1FFF\"\n }, {\n name: 'InGreek_and_Coptic',\n bmp: \"\\u0370-\\u03FF\"\n }, {\n name: 'InGujarati',\n bmp: \"\\u0A80-\\u0AFF\"\n }, {\n name: 'InGurmukhi',\n bmp: \"\\u0A00-\\u0A7F\"\n }, {\n name: 'InHalfwidth_and_Fullwidth_Forms',\n bmp: \"\\uFF00-\\uFFEF\"\n }, {\n name: 'InHangul_Compatibility_Jamo',\n bmp: \"\\u3130-\\u318F\"\n }, {\n name: 'InHangul_Jamo',\n bmp: \"\\u1100-\\u11FF\"\n }, {\n name: 'InHangul_Jamo_Extended_A',\n bmp: \"\\uA960-\\uA97F\"\n }, {\n name: 'InHangul_Jamo_Extended_B',\n bmp: \"\\uD7B0-\\uD7FF\"\n }, {\n name: 'InHangul_Syllables',\n bmp: \"\\uAC00-\\uD7AF\"\n }, {\n name: 'InHanunoo',\n bmp: \"\\u1720-\\u173F\"\n }, {\n name: 'InHatran',\n astral: \"\\uD802[\\uDCE0-\\uDCFF]\"\n }, {\n name: 'InHebrew',\n bmp: \"\\u0590-\\u05FF\"\n }, {\n name: 'InHigh_Private_Use_Surrogates',\n bmp: \"\\uDB80-\\uDBFF\"\n }, {\n name: 'InHigh_Surrogates',\n bmp: \"\\uD800-\\uDB7F\"\n }, {\n name: 'InHiragana',\n bmp: \"\\u3040-\\u309F\"\n }, {\n name: 'InIPA_Extensions',\n bmp: \"\\u0250-\\u02AF\"\n }, {\n name: 'InIdeographic_Description_Characters',\n bmp: \"\\u2FF0-\\u2FFF\"\n }, {\n name: 'InIdeographic_Symbols_and_Punctuation',\n astral: \"\\uD81B[\\uDFE0-\\uDFFF]\"\n }, {\n name: 'InImperial_Aramaic',\n astral: \"\\uD802[\\uDC40-\\uDC5F]\"\n }, {\n name: 'InInscriptional_Pahlavi',\n astral: \"\\uD802[\\uDF60-\\uDF7F]\"\n }, {\n name: 'InInscriptional_Parthian',\n astral: \"\\uD802[\\uDF40-\\uDF5F]\"\n }, {\n name: 'InJavanese',\n bmp: \"\\uA980-\\uA9DF\"\n }, {\n name: 'InKaithi',\n astral: \"\\uD804[\\uDC80-\\uDCCF]\"\n }, {\n name: 'InKana_Supplement',\n astral: \"\\uD82C[\\uDC00-\\uDCFF]\"\n }, {\n name: 'InKanbun',\n bmp: \"\\u3190-\\u319F\"\n }, {\n name: 'InKangxi_Radicals',\n bmp: \"\\u2F00-\\u2FDF\"\n }, {\n name: 'InKannada',\n bmp: \"\\u0C80-\\u0CFF\"\n }, {\n name: 'InKatakana',\n bmp: \"\\u30A0-\\u30FF\"\n }, {\n name: 'InKatakana_Phonetic_Extensions',\n bmp: \"\\u31F0-\\u31FF\"\n }, {\n name: 'InKayah_Li',\n bmp: \"\\uA900-\\uA92F\"\n }, {\n name: 'InKharoshthi',\n astral: \"\\uD802[\\uDE00-\\uDE5F]\"\n }, {\n name: 'InKhmer',\n bmp: \"\\u1780-\\u17FF\"\n }, {\n name: 'InKhmer_Symbols',\n bmp: \"\\u19E0-\\u19FF\"\n }, {\n name: 'InKhojki',\n astral: \"\\uD804[\\uDE00-\\uDE4F]\"\n }, {\n name: 'InKhudawadi',\n astral: \"\\uD804[\\uDEB0-\\uDEFF]\"\n }, {\n name: 'InLao',\n bmp: \"\\u0E80-\\u0EFF\"\n }, {\n name: 'InLatin_Extended_Additional',\n bmp: \"\\u1E00-\\u1EFF\"\n }, {\n name: 'InLatin_Extended_A',\n bmp: \"\\u0100-\\u017F\"\n }, {\n name: 'InLatin_Extended_B',\n bmp: \"\\u0180-\\u024F\"\n }, {\n name: 'InLatin_Extended_C',\n bmp: \"\\u2C60-\\u2C7F\"\n }, {\n name: 'InLatin_Extended_D',\n bmp: \"\\uA720-\\uA7FF\"\n }, {\n name: 'InLatin_Extended_E',\n bmp: \"\\uAB30-\\uAB6F\"\n }, {\n name: 'InLatin_1_Supplement',\n bmp: '\\x80-\\xFF'\n }, {\n name: 'InLepcha',\n bmp: \"\\u1C00-\\u1C4F\"\n }, {\n name: 'InLetterlike_Symbols',\n bmp: \"\\u2100-\\u214F\"\n }, {\n name: 'InLimbu',\n bmp: \"\\u1900-\\u194F\"\n }, {\n name: 'InLinear_A',\n astral: \"\\uD801[\\uDE00-\\uDF7F]\"\n }, {\n name: 'InLinear_B_Ideograms',\n astral: \"\\uD800[\\uDC80-\\uDCFF]\"\n }, {\n name: 'InLinear_B_Syllabary',\n astral: \"\\uD800[\\uDC00-\\uDC7F]\"\n }, {\n name: 'InLisu',\n bmp: \"\\uA4D0-\\uA4FF\"\n }, {\n name: 'InLow_Surrogates',\n bmp: \"\\uDC00-\\uDFFF\"\n }, {\n name: 'InLycian',\n astral: \"\\uD800[\\uDE80-\\uDE9F]\"\n }, {\n name: 'InLydian',\n astral: \"\\uD802[\\uDD20-\\uDD3F]\"\n }, {\n name: 'InMahajani',\n astral: \"\\uD804[\\uDD50-\\uDD7F]\"\n }, {\n name: 'InMahjong_Tiles',\n astral: \"\\uD83C[\\uDC00-\\uDC2F]\"\n }, {\n name: 'InMalayalam',\n bmp: \"\\u0D00-\\u0D7F\"\n }, {\n name: 'InMandaic',\n bmp: \"\\u0840-\\u085F\"\n }, {\n name: 'InManichaean',\n astral: \"\\uD802[\\uDEC0-\\uDEFF]\"\n }, {\n name: 'InMarchen',\n astral: \"\\uD807[\\uDC70-\\uDCBF]\"\n }, {\n name: 'InMathematical_Alphanumeric_Symbols',\n astral: \"\\uD835[\\uDC00-\\uDFFF]\"\n }, {\n name: 'InMathematical_Operators',\n bmp: \"\\u2200-\\u22FF\"\n }, {\n name: 'InMeetei_Mayek',\n bmp: \"\\uABC0-\\uABFF\"\n }, {\n name: 'InMeetei_Mayek_Extensions',\n bmp: \"\\uAAE0-\\uAAFF\"\n }, {\n name: 'InMende_Kikakui',\n astral: \"\\uD83A[\\uDC00-\\uDCDF]\"\n }, {\n name: 'InMeroitic_Cursive',\n astral: \"\\uD802[\\uDDA0-\\uDDFF]\"\n }, {\n name: 'InMeroitic_Hieroglyphs',\n astral: \"\\uD802[\\uDD80-\\uDD9F]\"\n }, {\n name: 'InMiao',\n astral: \"\\uD81B[\\uDF00-\\uDF9F]\"\n }, {\n name: 'InMiscellaneous_Mathematical_Symbols_A',\n bmp: \"\\u27C0-\\u27EF\"\n }, {\n name: 'InMiscellaneous_Mathematical_Symbols_B',\n bmp: \"\\u2980-\\u29FF\"\n }, {\n name: 'InMiscellaneous_Symbols',\n bmp: \"\\u2600-\\u26FF\"\n }, {\n name: 'InMiscellaneous_Symbols_and_Arrows',\n bmp: \"\\u2B00-\\u2BFF\"\n }, {\n name: 'InMiscellaneous_Symbols_and_Pictographs',\n astral: \"\\uD83C[\\uDF00-\\uDFFF]|\\uD83D[\\uDC00-\\uDDFF]\"\n }, {\n name: 'InMiscellaneous_Technical',\n bmp: \"\\u2300-\\u23FF\"\n }, {\n name: 'InModi',\n astral: \"\\uD805[\\uDE00-\\uDE5F]\"\n }, {\n name: 'InModifier_Tone_Letters',\n bmp: \"\\uA700-\\uA71F\"\n }, {\n name: 'InMongolian',\n bmp: \"\\u1800-\\u18AF\"\n }, {\n name: 'InMongolian_Supplement',\n astral: \"\\uD805[\\uDE60-\\uDE7F]\"\n }, {\n name: 'InMro',\n astral: \"\\uD81A[\\uDE40-\\uDE6F]\"\n }, {\n name: 'InMultani',\n astral: \"\\uD804[\\uDE80-\\uDEAF]\"\n }, {\n name: 'InMusical_Symbols',\n astral: \"\\uD834[\\uDD00-\\uDDFF]\"\n }, {\n name: 'InMyanmar',\n bmp: \"\\u1000-\\u109F\"\n }, {\n name: 'InMyanmar_Extended_A',\n bmp: \"\\uAA60-\\uAA7F\"\n }, {\n name: 'InMyanmar_Extended_B',\n bmp: \"\\uA9E0-\\uA9FF\"\n }, {\n name: 'InNKo',\n bmp: \"\\u07C0-\\u07FF\"\n }, {\n name: 'InNabataean',\n astral: \"\\uD802[\\uDC80-\\uDCAF]\"\n }, {\n name: 'InNew_Tai_Lue',\n bmp: \"\\u1980-\\u19DF\"\n }, {\n name: 'InNewa',\n astral: \"\\uD805[\\uDC00-\\uDC7F]\"\n }, {\n name: 'InNumber_Forms',\n bmp: \"\\u2150-\\u218F\"\n }, {\n name: 'InOgham',\n bmp: \"\\u1680-\\u169F\"\n }, {\n name: 'InOl_Chiki',\n bmp: \"\\u1C50-\\u1C7F\"\n }, {\n name: 'InOld_Hungarian',\n astral: \"\\uD803[\\uDC80-\\uDCFF]\"\n }, {\n name: 'InOld_Italic',\n astral: \"\\uD800[\\uDF00-\\uDF2F]\"\n }, {\n name: 'InOld_North_Arabian',\n astral: \"\\uD802[\\uDE80-\\uDE9F]\"\n }, {\n name: 'InOld_Permic',\n astral: \"\\uD800[\\uDF50-\\uDF7F]\"\n }, {\n name: 'InOld_Persian',\n astral: \"\\uD800[\\uDFA0-\\uDFDF]\"\n }, {\n name: 'InOld_South_Arabian',\n astral: \"\\uD802[\\uDE60-\\uDE7F]\"\n }, {\n name: 'InOld_Turkic',\n astral: \"\\uD803[\\uDC00-\\uDC4F]\"\n }, {\n name: 'InOptical_Character_Recognition',\n bmp: \"\\u2440-\\u245F\"\n }, {\n name: 'InOriya',\n bmp: \"\\u0B00-\\u0B7F\"\n }, {\n name: 'InOrnamental_Dingbats',\n astral: \"\\uD83D[\\uDE50-\\uDE7F]\"\n }, {\n name: 'InOsage',\n astral: \"\\uD801[\\uDCB0-\\uDCFF]\"\n }, {\n name: 'InOsmanya',\n astral: \"\\uD801[\\uDC80-\\uDCAF]\"\n }, {\n name: 'InPahawh_Hmong',\n astral: \"\\uD81A[\\uDF00-\\uDF8F]\"\n }, {\n name: 'InPalmyrene',\n astral: \"\\uD802[\\uDC60-\\uDC7F]\"\n }, {\n name: 'InPau_Cin_Hau',\n astral: \"\\uD806[\\uDEC0-\\uDEFF]\"\n }, {\n name: 'InPhags_pa',\n bmp: \"\\uA840-\\uA87F\"\n }, {\n name: 'InPhaistos_Disc',\n astral: \"\\uD800[\\uDDD0-\\uDDFF]\"\n }, {\n name: 'InPhoenician',\n astral: \"\\uD802[\\uDD00-\\uDD1F]\"\n }, {\n name: 'InPhonetic_Extensions',\n bmp: \"\\u1D00-\\u1D7F\"\n }, {\n name: 'InPhonetic_Extensions_Supplement',\n bmp: \"\\u1D80-\\u1DBF\"\n }, {\n name: 'InPlaying_Cards',\n astral: \"\\uD83C[\\uDCA0-\\uDCFF]\"\n }, {\n name: 'InPrivate_Use_Area',\n bmp: \"\\uE000-\\uF8FF\"\n }, {\n name: 'InPsalter_Pahlavi',\n astral: \"\\uD802[\\uDF80-\\uDFAF]\"\n }, {\n name: 'InRejang',\n bmp: \"\\uA930-\\uA95F\"\n }, {\n name: 'InRumi_Numeral_Symbols',\n astral: \"\\uD803[\\uDE60-\\uDE7F]\"\n }, {\n name: 'InRunic',\n bmp: \"\\u16A0-\\u16FF\"\n }, {\n name: 'InSamaritan',\n bmp: \"\\u0800-\\u083F\"\n }, {\n name: 'InSaurashtra',\n bmp: \"\\uA880-\\uA8DF\"\n }, {\n name: 'InSharada',\n astral: \"\\uD804[\\uDD80-\\uDDDF]\"\n }, {\n name: 'InShavian',\n astral: \"\\uD801[\\uDC50-\\uDC7F]\"\n }, {\n name: 'InShorthand_Format_Controls',\n astral: \"\\uD82F[\\uDCA0-\\uDCAF]\"\n }, {\n name: 'InSiddham',\n astral: \"\\uD805[\\uDD80-\\uDDFF]\"\n }, {\n name: 'InSinhala',\n bmp: \"\\u0D80-\\u0DFF\"\n }, {\n name: 'InSinhala_Archaic_Numbers',\n astral: \"\\uD804[\\uDDE0-\\uDDFF]\"\n }, {\n name: 'InSmall_Form_Variants',\n bmp: \"\\uFE50-\\uFE6F\"\n }, {\n name: 'InSora_Sompeng',\n astral: \"\\uD804[\\uDCD0-\\uDCFF]\"\n }, {\n name: 'InSpacing_Modifier_Letters',\n bmp: \"\\u02B0-\\u02FF\"\n }, {\n name: 'InSpecials',\n bmp: \"\\uFFF0-\\uFFFF\"\n }, {\n name: 'InSundanese',\n bmp: \"\\u1B80-\\u1BBF\"\n }, {\n name: 'InSundanese_Supplement',\n bmp: \"\\u1CC0-\\u1CCF\"\n }, {\n name: 'InSuperscripts_and_Subscripts',\n bmp: \"\\u2070-\\u209F\"\n }, {\n name: 'InSupplemental_Arrows_A',\n bmp: \"\\u27F0-\\u27FF\"\n }, {\n name: 'InSupplemental_Arrows_B',\n bmp: \"\\u2900-\\u297F\"\n }, {\n name: 'InSupplemental_Arrows_C',\n astral: \"\\uD83E[\\uDC00-\\uDCFF]\"\n }, {\n name: 'InSupplemental_Mathematical_Operators',\n bmp: \"\\u2A00-\\u2AFF\"\n }, {\n name: 'InSupplemental_Punctuation',\n bmp: \"\\u2E00-\\u2E7F\"\n }, {\n name: 'InSupplemental_Symbols_and_Pictographs',\n astral: \"\\uD83E[\\uDD00-\\uDDFF]\"\n }, {\n name: 'InSupplementary_Private_Use_Area_A',\n astral: \"[\\uDB80-\\uDBBF][\\uDC00-\\uDFFF]\"\n }, {\n name: 'InSupplementary_Private_Use_Area_B',\n astral: \"[\\uDBC0-\\uDBFF][\\uDC00-\\uDFFF]\"\n }, {\n name: 'InSutton_SignWriting',\n astral: \"\\uD836[\\uDC00-\\uDEAF]\"\n }, {\n name: 'InSyloti_Nagri',\n bmp: \"\\uA800-\\uA82F\"\n }, {\n name: 'InSyriac',\n bmp: \"\\u0700-\\u074F\"\n }, {\n name: 'InTagalog',\n bmp: \"\\u1700-\\u171F\"\n }, {\n name: 'InTagbanwa',\n bmp: \"\\u1760-\\u177F\"\n }, {\n name: 'InTags',\n astral: \"\\uDB40[\\uDC00-\\uDC7F]\"\n }, {\n name: 'InTai_Le',\n bmp: \"\\u1950-\\u197F\"\n }, {\n name: 'InTai_Tham',\n bmp: \"\\u1A20-\\u1AAF\"\n }, {\n name: 'InTai_Viet',\n bmp: \"\\uAA80-\\uAADF\"\n }, {\n name: 'InTai_Xuan_Jing_Symbols',\n astral: \"\\uD834[\\uDF00-\\uDF5F]\"\n }, {\n name: 'InTakri',\n astral: \"\\uD805[\\uDE80-\\uDECF]\"\n }, {\n name: 'InTamil',\n bmp: \"\\u0B80-\\u0BFF\"\n }, {\n name: 'InTangut',\n astral: \"[\\uD81C-\\uD821][\\uDC00-\\uDFFF]\"\n }, {\n name: 'InTangut_Components',\n astral: \"\\uD822[\\uDC00-\\uDEFF]\"\n }, {\n name: 'InTelugu',\n bmp: \"\\u0C00-\\u0C7F\"\n }, {\n name: 'InThaana',\n bmp: \"\\u0780-\\u07BF\"\n }, {\n name: 'InThai',\n bmp: \"\\u0E00-\\u0E7F\"\n }, {\n name: 'InTibetan',\n bmp: \"\\u0F00-\\u0FFF\"\n }, {\n name: 'InTifinagh',\n bmp: \"\\u2D30-\\u2D7F\"\n }, {\n name: 'InTirhuta',\n astral: \"\\uD805[\\uDC80-\\uDCDF]\"\n }, {\n name: 'InTransport_and_Map_Symbols',\n astral: \"\\uD83D[\\uDE80-\\uDEFF]\"\n }, {\n name: 'InUgaritic',\n astral: \"\\uD800[\\uDF80-\\uDF9F]\"\n }, {\n name: 'InUnified_Canadian_Aboriginal_Syllabics',\n bmp: \"\\u1400-\\u167F\"\n }, {\n name: 'InUnified_Canadian_Aboriginal_Syllabics_Extended',\n bmp: \"\\u18B0-\\u18FF\"\n }, {\n name: 'InVai',\n bmp: \"\\uA500-\\uA63F\"\n }, {\n name: 'InVariation_Selectors',\n bmp: \"\\uFE00-\\uFE0F\"\n }, {\n name: 'InVariation_Selectors_Supplement',\n astral: \"\\uDB40[\\uDD00-\\uDDEF]\"\n }, {\n name: 'InVedic_Extensions',\n bmp: \"\\u1CD0-\\u1CFF\"\n }, {\n name: 'InVertical_Forms',\n bmp: \"\\uFE10-\\uFE1F\"\n }, {\n name: 'InWarang_Citi',\n astral: \"\\uD806[\\uDCA0-\\uDCFF]\"\n }, {\n name: 'InYi_Radicals',\n bmp: \"\\uA490-\\uA4CF\"\n }, {\n name: 'InYi_Syllables',\n bmp: \"\\uA000-\\uA48F\"\n }, {\n name: 'InYijing_Hexagram_Symbols',\n bmp: \"\\u4DC0-\\u4DFF\"\n }]);\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/*!\n * XRegExp Unicode Categories 4.0.0\n * \n * Steven Levithan (c) 2010-2017 MIT License\n * Unicode data by Mathias Bynens \n */\n\nexports.default = function (XRegExp) {\n /**\n * Adds support for Unicode's general categories. E.g., `\\p{Lu}` or `\\p{Uppercase Letter}`. See\n * category descriptions in UAX #44 . Token\n * names are case insensitive, and any spaces, hyphens, and underscores are ignored.\n *\n * Uses Unicode 9.0.0.\n *\n * @requires XRegExp, Unicode Base\n */\n if (!XRegExp.addUnicodeData) {\n throw new ReferenceError('Unicode Base must be loaded before Unicode Categories');\n }\n\n XRegExp.addUnicodeData([{\n name: 'C',\n alias: 'Other',\n isBmpLast: true,\n bmp: \"\\0-\\x1F\\x7F-\\x9F\\xAD\\u0378\\u0379\\u0380-\\u0383\\u038B\\u038D\\u03A2\\u0530\\u0557\\u0558\\u0560\\u0588\\u058B\\u058C\\u0590\\u05C8-\\u05CF\\u05EB-\\u05EF\\u05F5-\\u0605\\u061C\\u061D\\u06DD\\u070E\\u070F\\u074B\\u074C\\u07B2-\\u07BF\\u07FB-\\u07FF\\u082E\\u082F\\u083F\\u085C\\u085D\\u085F-\\u089F\\u08B5\\u08BE-\\u08D3\\u08E2\\u0984\\u098D\\u098E\\u0991\\u0992\\u09A9\\u09B1\\u09B3-\\u09B5\\u09BA\\u09BB\\u09C5\\u09C6\\u09C9\\u09CA\\u09CF-\\u09D6\\u09D8-\\u09DB\\u09DE\\u09E4\\u09E5\\u09FC-\\u0A00\\u0A04\\u0A0B-\\u0A0E\\u0A11\\u0A12\\u0A29\\u0A31\\u0A34\\u0A37\\u0A3A\\u0A3B\\u0A3D\\u0A43-\\u0A46\\u0A49\\u0A4A\\u0A4E-\\u0A50\\u0A52-\\u0A58\\u0A5D\\u0A5F-\\u0A65\\u0A76-\\u0A80\\u0A84\\u0A8E\\u0A92\\u0AA9\\u0AB1\\u0AB4\\u0ABA\\u0ABB\\u0AC6\\u0ACA\\u0ACE\\u0ACF\\u0AD1-\\u0ADF\\u0AE4\\u0AE5\\u0AF2-\\u0AF8\\u0AFA-\\u0B00\\u0B04\\u0B0D\\u0B0E\\u0B11\\u0B12\\u0B29\\u0B31\\u0B34\\u0B3A\\u0B3B\\u0B45\\u0B46\\u0B49\\u0B4A\\u0B4E-\\u0B55\\u0B58-\\u0B5B\\u0B5E\\u0B64\\u0B65\\u0B78-\\u0B81\\u0B84\\u0B8B-\\u0B8D\\u0B91\\u0B96-\\u0B98\\u0B9B\\u0B9D\\u0BA0-\\u0BA2\\u0BA5-\\u0BA7\\u0BAB-\\u0BAD\\u0BBA-\\u0BBD\\u0BC3-\\u0BC5\\u0BC9\\u0BCE\\u0BCF\\u0BD1-\\u0BD6\\u0BD8-\\u0BE5\\u0BFB-\\u0BFF\\u0C04\\u0C0D\\u0C11\\u0C29\\u0C3A-\\u0C3C\\u0C45\\u0C49\\u0C4E-\\u0C54\\u0C57\\u0C5B-\\u0C5F\\u0C64\\u0C65\\u0C70-\\u0C77\\u0C84\\u0C8D\\u0C91\\u0CA9\\u0CB4\\u0CBA\\u0CBB\\u0CC5\\u0CC9\\u0CCE-\\u0CD4\\u0CD7-\\u0CDD\\u0CDF\\u0CE4\\u0CE5\\u0CF0\\u0CF3-\\u0D00\\u0D04\\u0D0D\\u0D11\\u0D3B\\u0D3C\\u0D45\\u0D49\\u0D50-\\u0D53\\u0D64\\u0D65\\u0D80\\u0D81\\u0D84\\u0D97-\\u0D99\\u0DB2\\u0DBC\\u0DBE\\u0DBF\\u0DC7-\\u0DC9\\u0DCB-\\u0DCE\\u0DD5\\u0DD7\\u0DE0-\\u0DE5\\u0DF0\\u0DF1\\u0DF5-\\u0E00\\u0E3B-\\u0E3E\\u0E5C-\\u0E80\\u0E83\\u0E85\\u0E86\\u0E89\\u0E8B\\u0E8C\\u0E8E-\\u0E93\\u0E98\\u0EA0\\u0EA4\\u0EA6\\u0EA8\\u0EA9\\u0EAC\\u0EBA\\u0EBE\\u0EBF\\u0EC5\\u0EC7\\u0ECE\\u0ECF\\u0EDA\\u0EDB\\u0EE0-\\u0EFF\\u0F48\\u0F6D-\\u0F70\\u0F98\\u0FBD\\u0FCD\\u0FDB-\\u0FFF\\u10C6\\u10C8-\\u10CC\\u10CE\\u10CF\\u1249\\u124E\\u124F\\u1257\\u1259\\u125E\\u125F\\u1289\\u128E\\u128F\\u12B1\\u12B6\\u12B7\\u12BF\\u12C1\\u12C6\\u12C7\\u12D7\\u1311\\u1316\\u1317\\u135B\\u135C\\u137D-\\u137F\\u139A-\\u139F\\u13F6\\u13F7\\u13FE\\u13FF\\u169D-\\u169F\\u16F9-\\u16FF\\u170D\\u1715-\\u171F\\u1737-\\u173F\\u1754-\\u175F\\u176D\\u1771\\u1774-\\u177F\\u17DE\\u17DF\\u17EA-\\u17EF\\u17FA-\\u17FF\\u180E\\u180F\\u181A-\\u181F\\u1878-\\u187F\\u18AB-\\u18AF\\u18F6-\\u18FF\\u191F\\u192C-\\u192F\\u193C-\\u193F\\u1941-\\u1943\\u196E\\u196F\\u1975-\\u197F\\u19AC-\\u19AF\\u19CA-\\u19CF\\u19DB-\\u19DD\\u1A1C\\u1A1D\\u1A5F\\u1A7D\\u1A7E\\u1A8A-\\u1A8F\\u1A9A-\\u1A9F\\u1AAE\\u1AAF\\u1ABF-\\u1AFF\\u1B4C-\\u1B4F\\u1B7D-\\u1B7F\\u1BF4-\\u1BFB\\u1C38-\\u1C3A\\u1C4A-\\u1C4C\\u1C89-\\u1CBF\\u1CC8-\\u1CCF\\u1CF7\\u1CFA-\\u1CFF\\u1DF6-\\u1DFA\\u1F16\\u1F17\\u1F1E\\u1F1F\\u1F46\\u1F47\\u1F4E\\u1F4F\\u1F58\\u1F5A\\u1F5C\\u1F5E\\u1F7E\\u1F7F\\u1FB5\\u1FC5\\u1FD4\\u1FD5\\u1FDC\\u1FF0\\u1FF1\\u1FF5\\u1FFF\\u200B-\\u200F\\u202A-\\u202E\\u2060-\\u206F\\u2072\\u2073\\u208F\\u209D-\\u209F\\u20BF-\\u20CF\\u20F1-\\u20FF\\u218C-\\u218F\\u23FF\\u2427-\\u243F\\u244B-\\u245F\\u2B74\\u2B75\\u2B96\\u2B97\\u2BBA-\\u2BBC\\u2BC9\\u2BD2-\\u2BEB\\u2BF0-\\u2BFF\\u2C2F\\u2C5F\\u2CF4-\\u2CF8\\u2D26\\u2D28-\\u2D2C\\u2D2E\\u2D2F\\u2D68-\\u2D6E\\u2D71-\\u2D7E\\u2D97-\\u2D9F\\u2DA7\\u2DAF\\u2DB7\\u2DBF\\u2DC7\\u2DCF\\u2DD7\\u2DDF\\u2E45-\\u2E7F\\u2E9A\\u2EF4-\\u2EFF\\u2FD6-\\u2FEF\\u2FFC-\\u2FFF\\u3040\\u3097\\u3098\\u3100-\\u3104\\u312E-\\u3130\\u318F\\u31BB-\\u31BF\\u31E4-\\u31EF\\u321F\\u32FF\\u4DB6-\\u4DBF\\u9FD6-\\u9FFF\\uA48D-\\uA48F\\uA4C7-\\uA4CF\\uA62C-\\uA63F\\uA6F8-\\uA6FF\\uA7AF\\uA7B8-\\uA7F6\\uA82C-\\uA82F\\uA83A-\\uA83F\\uA878-\\uA87F\\uA8C6-\\uA8CD\\uA8DA-\\uA8DF\\uA8FE\\uA8FF\\uA954-\\uA95E\\uA97D-\\uA97F\\uA9CE\\uA9DA-\\uA9DD\\uA9FF\\uAA37-\\uAA3F\\uAA4E\\uAA4F\\uAA5A\\uAA5B\\uAAC3-\\uAADA\\uAAF7-\\uAB00\\uAB07\\uAB08\\uAB0F\\uAB10\\uAB17-\\uAB1F\\uAB27\\uAB2F\\uAB66-\\uAB6F\\uABEE\\uABEF\\uABFA-\\uABFF\\uD7A4-\\uD7AF\\uD7C7-\\uD7CA\\uD7FC-\\uF8FF\\uFA6E\\uFA6F\\uFADA-\\uFAFF\\uFB07-\\uFB12\\uFB18-\\uFB1C\\uFB37\\uFB3D\\uFB3F\\uFB42\\uFB45\\uFBC2-\\uFBD2\\uFD40-\\uFD4F\\uFD90\\uFD91\\uFDC8-\\uFDEF\\uFDFE\\uFDFF\\uFE1A-\\uFE1F\\uFE53\\uFE67\\uFE6C-\\uFE6F\\uFE75\\uFEFD-\\uFF00\\uFFBF-\\uFFC1\\uFFC8\\uFFC9\\uFFD0\\uFFD1\\uFFD8\\uFFD9\\uFFDD-\\uFFDF\\uFFE7\\uFFEF-\\uFFFB\\uFFFE\\uFFFF\",\n astral: \"\\uD800[\\uDC0C\\uDC27\\uDC3B\\uDC3E\\uDC4E\\uDC4F\\uDC5E-\\uDC7F\\uDCFB-\\uDCFF\\uDD03-\\uDD06\\uDD34-\\uDD36\\uDD8F\\uDD9C-\\uDD9F\\uDDA1-\\uDDCF\\uDDFE-\\uDE7F\\uDE9D-\\uDE9F\\uDED1-\\uDEDF\\uDEFC-\\uDEFF\\uDF24-\\uDF2F\\uDF4B-\\uDF4F\\uDF7B-\\uDF7F\\uDF9E\\uDFC4-\\uDFC7\\uDFD6-\\uDFFF]|\\uD801[\\uDC9E\\uDC9F\\uDCAA-\\uDCAF\\uDCD4-\\uDCD7\\uDCFC-\\uDCFF\\uDD28-\\uDD2F\\uDD64-\\uDD6E\\uDD70-\\uDDFF\\uDF37-\\uDF3F\\uDF56-\\uDF5F\\uDF68-\\uDFFF]|\\uD802[\\uDC06\\uDC07\\uDC09\\uDC36\\uDC39-\\uDC3B\\uDC3D\\uDC3E\\uDC56\\uDC9F-\\uDCA6\\uDCB0-\\uDCDF\\uDCF3\\uDCF6-\\uDCFA\\uDD1C-\\uDD1E\\uDD3A-\\uDD3E\\uDD40-\\uDD7F\\uDDB8-\\uDDBB\\uDDD0\\uDDD1\\uDE04\\uDE07-\\uDE0B\\uDE14\\uDE18\\uDE34-\\uDE37\\uDE3B-\\uDE3E\\uDE48-\\uDE4F\\uDE59-\\uDE5F\\uDEA0-\\uDEBF\\uDEE7-\\uDEEA\\uDEF7-\\uDEFF\\uDF36-\\uDF38\\uDF56\\uDF57\\uDF73-\\uDF77\\uDF92-\\uDF98\\uDF9D-\\uDFA8\\uDFB0-\\uDFFF]|\\uD803[\\uDC49-\\uDC7F\\uDCB3-\\uDCBF\\uDCF3-\\uDCF9\\uDD00-\\uDE5F\\uDE7F-\\uDFFF]|\\uD804[\\uDC4E-\\uDC51\\uDC70-\\uDC7E\\uDCBD\\uDCC2-\\uDCCF\\uDCE9-\\uDCEF\\uDCFA-\\uDCFF\\uDD35\\uDD44-\\uDD4F\\uDD77-\\uDD7F\\uDDCE\\uDDCF\\uDDE0\\uDDF5-\\uDDFF\\uDE12\\uDE3F-\\uDE7F\\uDE87\\uDE89\\uDE8E\\uDE9E\\uDEAA-\\uDEAF\\uDEEB-\\uDEEF\\uDEFA-\\uDEFF\\uDF04\\uDF0D\\uDF0E\\uDF11\\uDF12\\uDF29\\uDF31\\uDF34\\uDF3A\\uDF3B\\uDF45\\uDF46\\uDF49\\uDF4A\\uDF4E\\uDF4F\\uDF51-\\uDF56\\uDF58-\\uDF5C\\uDF64\\uDF65\\uDF6D-\\uDF6F\\uDF75-\\uDFFF]|\\uD805[\\uDC5A\\uDC5C\\uDC5E-\\uDC7F\\uDCC8-\\uDCCF\\uDCDA-\\uDD7F\\uDDB6\\uDDB7\\uDDDE-\\uDDFF\\uDE45-\\uDE4F\\uDE5A-\\uDE5F\\uDE6D-\\uDE7F\\uDEB8-\\uDEBF\\uDECA-\\uDEFF\\uDF1A-\\uDF1C\\uDF2C-\\uDF2F\\uDF40-\\uDFFF]|\\uD806[\\uDC00-\\uDC9F\\uDCF3-\\uDCFE\\uDD00-\\uDEBF\\uDEF9-\\uDFFF]|\\uD807[\\uDC09\\uDC37\\uDC46-\\uDC4F\\uDC6D-\\uDC6F\\uDC90\\uDC91\\uDCA8\\uDCB7-\\uDFFF]|\\uD808[\\uDF9A-\\uDFFF]|\\uD809[\\uDC6F\\uDC75-\\uDC7F\\uDD44-\\uDFFF]|[\\uD80A\\uD80B\\uD80E-\\uD810\\uD812-\\uD819\\uD823-\\uD82B\\uD82D\\uD82E\\uD830-\\uD833\\uD837\\uD839\\uD83F\\uD874-\\uD87D\\uD87F-\\uDB3F\\uDB41-\\uDBFF][\\uDC00-\\uDFFF]|\\uD80D[\\uDC2F-\\uDFFF]|\\uD811[\\uDE47-\\uDFFF]|\\uD81A[\\uDE39-\\uDE3F\\uDE5F\\uDE6A-\\uDE6D\\uDE70-\\uDECF\\uDEEE\\uDEEF\\uDEF6-\\uDEFF\\uDF46-\\uDF4F\\uDF5A\\uDF62\\uDF78-\\uDF7C\\uDF90-\\uDFFF]|\\uD81B[\\uDC00-\\uDEFF\\uDF45-\\uDF4F\\uDF7F-\\uDF8E\\uDFA0-\\uDFDF\\uDFE1-\\uDFFF]|\\uD821[\\uDFED-\\uDFFF]|\\uD822[\\uDEF3-\\uDFFF]|\\uD82C[\\uDC02-\\uDFFF]|\\uD82F[\\uDC6B-\\uDC6F\\uDC7D-\\uDC7F\\uDC89-\\uDC8F\\uDC9A\\uDC9B\\uDCA0-\\uDFFF]|\\uD834[\\uDCF6-\\uDCFF\\uDD27\\uDD28\\uDD73-\\uDD7A\\uDDE9-\\uDDFF\\uDE46-\\uDEFF\\uDF57-\\uDF5F\\uDF72-\\uDFFF]|\\uD835[\\uDC55\\uDC9D\\uDCA0\\uDCA1\\uDCA3\\uDCA4\\uDCA7\\uDCA8\\uDCAD\\uDCBA\\uDCBC\\uDCC4\\uDD06\\uDD0B\\uDD0C\\uDD15\\uDD1D\\uDD3A\\uDD3F\\uDD45\\uDD47-\\uDD49\\uDD51\\uDEA6\\uDEA7\\uDFCC\\uDFCD]|\\uD836[\\uDE8C-\\uDE9A\\uDEA0\\uDEB0-\\uDFFF]|\\uD838[\\uDC07\\uDC19\\uDC1A\\uDC22\\uDC25\\uDC2B-\\uDFFF]|\\uD83A[\\uDCC5\\uDCC6\\uDCD7-\\uDCFF\\uDD4B-\\uDD4F\\uDD5A-\\uDD5D\\uDD60-\\uDFFF]|\\uD83B[\\uDC00-\\uDDFF\\uDE04\\uDE20\\uDE23\\uDE25\\uDE26\\uDE28\\uDE33\\uDE38\\uDE3A\\uDE3C-\\uDE41\\uDE43-\\uDE46\\uDE48\\uDE4A\\uDE4C\\uDE50\\uDE53\\uDE55\\uDE56\\uDE58\\uDE5A\\uDE5C\\uDE5E\\uDE60\\uDE63\\uDE65\\uDE66\\uDE6B\\uDE73\\uDE78\\uDE7D\\uDE7F\\uDE8A\\uDE9C-\\uDEA0\\uDEA4\\uDEAA\\uDEBC-\\uDEEF\\uDEF2-\\uDFFF]|\\uD83C[\\uDC2C-\\uDC2F\\uDC94-\\uDC9F\\uDCAF\\uDCB0\\uDCC0\\uDCD0\\uDCF6-\\uDCFF\\uDD0D-\\uDD0F\\uDD2F\\uDD6C-\\uDD6F\\uDDAD-\\uDDE5\\uDE03-\\uDE0F\\uDE3C-\\uDE3F\\uDE49-\\uDE4F\\uDE52-\\uDEFF]|\\uD83D[\\uDED3-\\uDEDF\\uDEED-\\uDEEF\\uDEF7-\\uDEFF\\uDF74-\\uDF7F\\uDFD5-\\uDFFF]|\\uD83E[\\uDC0C-\\uDC0F\\uDC48-\\uDC4F\\uDC5A-\\uDC5F\\uDC88-\\uDC8F\\uDCAE-\\uDD0F\\uDD1F\\uDD28-\\uDD2F\\uDD31\\uDD32\\uDD3F\\uDD4C-\\uDD4F\\uDD5F-\\uDD7F\\uDD92-\\uDDBF\\uDDC1-\\uDFFF]|\\uD869[\\uDED7-\\uDEFF]|\\uD86D[\\uDF35-\\uDF3F]|\\uD86E[\\uDC1E\\uDC1F]|\\uD873[\\uDEA2-\\uDFFF]|\\uD87E[\\uDE1E-\\uDFFF]|\\uDB40[\\uDC00-\\uDCFF\\uDDF0-\\uDFFF]\"\n }, {\n name: 'Cc',\n alias: 'Control',\n bmp: '\\0-\\x1F\\x7F-\\x9F'\n }, {\n name: 'Cf',\n alias: 'Format',\n bmp: \"\\xAD\\u0600-\\u0605\\u061C\\u06DD\\u070F\\u08E2\\u180E\\u200B-\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u2066-\\u206F\\uFEFF\\uFFF9-\\uFFFB\",\n astral: \"\\uD804\\uDCBD|\\uD82F[\\uDCA0-\\uDCA3]|\\uD834[\\uDD73-\\uDD7A]|\\uDB40[\\uDC01\\uDC20-\\uDC7F]\"\n }, {\n name: 'Cn',\n alias: 'Unassigned',\n bmp: \"\\u0378\\u0379\\u0380-\\u0383\\u038B\\u038D\\u03A2\\u0530\\u0557\\u0558\\u0560\\u0588\\u058B\\u058C\\u0590\\u05C8-\\u05CF\\u05EB-\\u05EF\\u05F5-\\u05FF\\u061D\\u070E\\u074B\\u074C\\u07B2-\\u07BF\\u07FB-\\u07FF\\u082E\\u082F\\u083F\\u085C\\u085D\\u085F-\\u089F\\u08B5\\u08BE-\\u08D3\\u0984\\u098D\\u098E\\u0991\\u0992\\u09A9\\u09B1\\u09B3-\\u09B5\\u09BA\\u09BB\\u09C5\\u09C6\\u09C9\\u09CA\\u09CF-\\u09D6\\u09D8-\\u09DB\\u09DE\\u09E4\\u09E5\\u09FC-\\u0A00\\u0A04\\u0A0B-\\u0A0E\\u0A11\\u0A12\\u0A29\\u0A31\\u0A34\\u0A37\\u0A3A\\u0A3B\\u0A3D\\u0A43-\\u0A46\\u0A49\\u0A4A\\u0A4E-\\u0A50\\u0A52-\\u0A58\\u0A5D\\u0A5F-\\u0A65\\u0A76-\\u0A80\\u0A84\\u0A8E\\u0A92\\u0AA9\\u0AB1\\u0AB4\\u0ABA\\u0ABB\\u0AC6\\u0ACA\\u0ACE\\u0ACF\\u0AD1-\\u0ADF\\u0AE4\\u0AE5\\u0AF2-\\u0AF8\\u0AFA-\\u0B00\\u0B04\\u0B0D\\u0B0E\\u0B11\\u0B12\\u0B29\\u0B31\\u0B34\\u0B3A\\u0B3B\\u0B45\\u0B46\\u0B49\\u0B4A\\u0B4E-\\u0B55\\u0B58-\\u0B5B\\u0B5E\\u0B64\\u0B65\\u0B78-\\u0B81\\u0B84\\u0B8B-\\u0B8D\\u0B91\\u0B96-\\u0B98\\u0B9B\\u0B9D\\u0BA0-\\u0BA2\\u0BA5-\\u0BA7\\u0BAB-\\u0BAD\\u0BBA-\\u0BBD\\u0BC3-\\u0BC5\\u0BC9\\u0BCE\\u0BCF\\u0BD1-\\u0BD6\\u0BD8-\\u0BE5\\u0BFB-\\u0BFF\\u0C04\\u0C0D\\u0C11\\u0C29\\u0C3A-\\u0C3C\\u0C45\\u0C49\\u0C4E-\\u0C54\\u0C57\\u0C5B-\\u0C5F\\u0C64\\u0C65\\u0C70-\\u0C77\\u0C84\\u0C8D\\u0C91\\u0CA9\\u0CB4\\u0CBA\\u0CBB\\u0CC5\\u0CC9\\u0CCE-\\u0CD4\\u0CD7-\\u0CDD\\u0CDF\\u0CE4\\u0CE5\\u0CF0\\u0CF3-\\u0D00\\u0D04\\u0D0D\\u0D11\\u0D3B\\u0D3C\\u0D45\\u0D49\\u0D50-\\u0D53\\u0D64\\u0D65\\u0D80\\u0D81\\u0D84\\u0D97-\\u0D99\\u0DB2\\u0DBC\\u0DBE\\u0DBF\\u0DC7-\\u0DC9\\u0DCB-\\u0DCE\\u0DD5\\u0DD7\\u0DE0-\\u0DE5\\u0DF0\\u0DF1\\u0DF5-\\u0E00\\u0E3B-\\u0E3E\\u0E5C-\\u0E80\\u0E83\\u0E85\\u0E86\\u0E89\\u0E8B\\u0E8C\\u0E8E-\\u0E93\\u0E98\\u0EA0\\u0EA4\\u0EA6\\u0EA8\\u0EA9\\u0EAC\\u0EBA\\u0EBE\\u0EBF\\u0EC5\\u0EC7\\u0ECE\\u0ECF\\u0EDA\\u0EDB\\u0EE0-\\u0EFF\\u0F48\\u0F6D-\\u0F70\\u0F98\\u0FBD\\u0FCD\\u0FDB-\\u0FFF\\u10C6\\u10C8-\\u10CC\\u10CE\\u10CF\\u1249\\u124E\\u124F\\u1257\\u1259\\u125E\\u125F\\u1289\\u128E\\u128F\\u12B1\\u12B6\\u12B7\\u12BF\\u12C1\\u12C6\\u12C7\\u12D7\\u1311\\u1316\\u1317\\u135B\\u135C\\u137D-\\u137F\\u139A-\\u139F\\u13F6\\u13F7\\u13FE\\u13FF\\u169D-\\u169F\\u16F9-\\u16FF\\u170D\\u1715-\\u171F\\u1737-\\u173F\\u1754-\\u175F\\u176D\\u1771\\u1774-\\u177F\\u17DE\\u17DF\\u17EA-\\u17EF\\u17FA-\\u17FF\\u180F\\u181A-\\u181F\\u1878-\\u187F\\u18AB-\\u18AF\\u18F6-\\u18FF\\u191F\\u192C-\\u192F\\u193C-\\u193F\\u1941-\\u1943\\u196E\\u196F\\u1975-\\u197F\\u19AC-\\u19AF\\u19CA-\\u19CF\\u19DB-\\u19DD\\u1A1C\\u1A1D\\u1A5F\\u1A7D\\u1A7E\\u1A8A-\\u1A8F\\u1A9A-\\u1A9F\\u1AAE\\u1AAF\\u1ABF-\\u1AFF\\u1B4C-\\u1B4F\\u1B7D-\\u1B7F\\u1BF4-\\u1BFB\\u1C38-\\u1C3A\\u1C4A-\\u1C4C\\u1C89-\\u1CBF\\u1CC8-\\u1CCF\\u1CF7\\u1CFA-\\u1CFF\\u1DF6-\\u1DFA\\u1F16\\u1F17\\u1F1E\\u1F1F\\u1F46\\u1F47\\u1F4E\\u1F4F\\u1F58\\u1F5A\\u1F5C\\u1F5E\\u1F7E\\u1F7F\\u1FB5\\u1FC5\\u1FD4\\u1FD5\\u1FDC\\u1FF0\\u1FF1\\u1FF5\\u1FFF\\u2065\\u2072\\u2073\\u208F\\u209D-\\u209F\\u20BF-\\u20CF\\u20F1-\\u20FF\\u218C-\\u218F\\u23FF\\u2427-\\u243F\\u244B-\\u245F\\u2B74\\u2B75\\u2B96\\u2B97\\u2BBA-\\u2BBC\\u2BC9\\u2BD2-\\u2BEB\\u2BF0-\\u2BFF\\u2C2F\\u2C5F\\u2CF4-\\u2CF8\\u2D26\\u2D28-\\u2D2C\\u2D2E\\u2D2F\\u2D68-\\u2D6E\\u2D71-\\u2D7E\\u2D97-\\u2D9F\\u2DA7\\u2DAF\\u2DB7\\u2DBF\\u2DC7\\u2DCF\\u2DD7\\u2DDF\\u2E45-\\u2E7F\\u2E9A\\u2EF4-\\u2EFF\\u2FD6-\\u2FEF\\u2FFC-\\u2FFF\\u3040\\u3097\\u3098\\u3100-\\u3104\\u312E-\\u3130\\u318F\\u31BB-\\u31BF\\u31E4-\\u31EF\\u321F\\u32FF\\u4DB6-\\u4DBF\\u9FD6-\\u9FFF\\uA48D-\\uA48F\\uA4C7-\\uA4CF\\uA62C-\\uA63F\\uA6F8-\\uA6FF\\uA7AF\\uA7B8-\\uA7F6\\uA82C-\\uA82F\\uA83A-\\uA83F\\uA878-\\uA87F\\uA8C6-\\uA8CD\\uA8DA-\\uA8DF\\uA8FE\\uA8FF\\uA954-\\uA95E\\uA97D-\\uA97F\\uA9CE\\uA9DA-\\uA9DD\\uA9FF\\uAA37-\\uAA3F\\uAA4E\\uAA4F\\uAA5A\\uAA5B\\uAAC3-\\uAADA\\uAAF7-\\uAB00\\uAB07\\uAB08\\uAB0F\\uAB10\\uAB17-\\uAB1F\\uAB27\\uAB2F\\uAB66-\\uAB6F\\uABEE\\uABEF\\uABFA-\\uABFF\\uD7A4-\\uD7AF\\uD7C7-\\uD7CA\\uD7FC-\\uD7FF\\uFA6E\\uFA6F\\uFADA-\\uFAFF\\uFB07-\\uFB12\\uFB18-\\uFB1C\\uFB37\\uFB3D\\uFB3F\\uFB42\\uFB45\\uFBC2-\\uFBD2\\uFD40-\\uFD4F\\uFD90\\uFD91\\uFDC8-\\uFDEF\\uFDFE\\uFDFF\\uFE1A-\\uFE1F\\uFE53\\uFE67\\uFE6C-\\uFE6F\\uFE75\\uFEFD\\uFEFE\\uFF00\\uFFBF-\\uFFC1\\uFFC8\\uFFC9\\uFFD0\\uFFD1\\uFFD8\\uFFD9\\uFFDD-\\uFFDF\\uFFE7\\uFFEF-\\uFFF8\\uFFFE\\uFFFF\",\n astral: \"\\uD800[\\uDC0C\\uDC27\\uDC3B\\uDC3E\\uDC4E\\uDC4F\\uDC5E-\\uDC7F\\uDCFB-\\uDCFF\\uDD03-\\uDD06\\uDD34-\\uDD36\\uDD8F\\uDD9C-\\uDD9F\\uDDA1-\\uDDCF\\uDDFE-\\uDE7F\\uDE9D-\\uDE9F\\uDED1-\\uDEDF\\uDEFC-\\uDEFF\\uDF24-\\uDF2F\\uDF4B-\\uDF4F\\uDF7B-\\uDF7F\\uDF9E\\uDFC4-\\uDFC7\\uDFD6-\\uDFFF]|\\uD801[\\uDC9E\\uDC9F\\uDCAA-\\uDCAF\\uDCD4-\\uDCD7\\uDCFC-\\uDCFF\\uDD28-\\uDD2F\\uDD64-\\uDD6E\\uDD70-\\uDDFF\\uDF37-\\uDF3F\\uDF56-\\uDF5F\\uDF68-\\uDFFF]|\\uD802[\\uDC06\\uDC07\\uDC09\\uDC36\\uDC39-\\uDC3B\\uDC3D\\uDC3E\\uDC56\\uDC9F-\\uDCA6\\uDCB0-\\uDCDF\\uDCF3\\uDCF6-\\uDCFA\\uDD1C-\\uDD1E\\uDD3A-\\uDD3E\\uDD40-\\uDD7F\\uDDB8-\\uDDBB\\uDDD0\\uDDD1\\uDE04\\uDE07-\\uDE0B\\uDE14\\uDE18\\uDE34-\\uDE37\\uDE3B-\\uDE3E\\uDE48-\\uDE4F\\uDE59-\\uDE5F\\uDEA0-\\uDEBF\\uDEE7-\\uDEEA\\uDEF7-\\uDEFF\\uDF36-\\uDF38\\uDF56\\uDF57\\uDF73-\\uDF77\\uDF92-\\uDF98\\uDF9D-\\uDFA8\\uDFB0-\\uDFFF]|\\uD803[\\uDC49-\\uDC7F\\uDCB3-\\uDCBF\\uDCF3-\\uDCF9\\uDD00-\\uDE5F\\uDE7F-\\uDFFF]|\\uD804[\\uDC4E-\\uDC51\\uDC70-\\uDC7E\\uDCC2-\\uDCCF\\uDCE9-\\uDCEF\\uDCFA-\\uDCFF\\uDD35\\uDD44-\\uDD4F\\uDD77-\\uDD7F\\uDDCE\\uDDCF\\uDDE0\\uDDF5-\\uDDFF\\uDE12\\uDE3F-\\uDE7F\\uDE87\\uDE89\\uDE8E\\uDE9E\\uDEAA-\\uDEAF\\uDEEB-\\uDEEF\\uDEFA-\\uDEFF\\uDF04\\uDF0D\\uDF0E\\uDF11\\uDF12\\uDF29\\uDF31\\uDF34\\uDF3A\\uDF3B\\uDF45\\uDF46\\uDF49\\uDF4A\\uDF4E\\uDF4F\\uDF51-\\uDF56\\uDF58-\\uDF5C\\uDF64\\uDF65\\uDF6D-\\uDF6F\\uDF75-\\uDFFF]|\\uD805[\\uDC5A\\uDC5C\\uDC5E-\\uDC7F\\uDCC8-\\uDCCF\\uDCDA-\\uDD7F\\uDDB6\\uDDB7\\uDDDE-\\uDDFF\\uDE45-\\uDE4F\\uDE5A-\\uDE5F\\uDE6D-\\uDE7F\\uDEB8-\\uDEBF\\uDECA-\\uDEFF\\uDF1A-\\uDF1C\\uDF2C-\\uDF2F\\uDF40-\\uDFFF]|\\uD806[\\uDC00-\\uDC9F\\uDCF3-\\uDCFE\\uDD00-\\uDEBF\\uDEF9-\\uDFFF]|\\uD807[\\uDC09\\uDC37\\uDC46-\\uDC4F\\uDC6D-\\uDC6F\\uDC90\\uDC91\\uDCA8\\uDCB7-\\uDFFF]|\\uD808[\\uDF9A-\\uDFFF]|\\uD809[\\uDC6F\\uDC75-\\uDC7F\\uDD44-\\uDFFF]|[\\uD80A\\uD80B\\uD80E-\\uD810\\uD812-\\uD819\\uD823-\\uD82B\\uD82D\\uD82E\\uD830-\\uD833\\uD837\\uD839\\uD83F\\uD874-\\uD87D\\uD87F-\\uDB3F\\uDB41-\\uDB7F][\\uDC00-\\uDFFF]|\\uD80D[\\uDC2F-\\uDFFF]|\\uD811[\\uDE47-\\uDFFF]|\\uD81A[\\uDE39-\\uDE3F\\uDE5F\\uDE6A-\\uDE6D\\uDE70-\\uDECF\\uDEEE\\uDEEF\\uDEF6-\\uDEFF\\uDF46-\\uDF4F\\uDF5A\\uDF62\\uDF78-\\uDF7C\\uDF90-\\uDFFF]|\\uD81B[\\uDC00-\\uDEFF\\uDF45-\\uDF4F\\uDF7F-\\uDF8E\\uDFA0-\\uDFDF\\uDFE1-\\uDFFF]|\\uD821[\\uDFED-\\uDFFF]|\\uD822[\\uDEF3-\\uDFFF]|\\uD82C[\\uDC02-\\uDFFF]|\\uD82F[\\uDC6B-\\uDC6F\\uDC7D-\\uDC7F\\uDC89-\\uDC8F\\uDC9A\\uDC9B\\uDCA4-\\uDFFF]|\\uD834[\\uDCF6-\\uDCFF\\uDD27\\uDD28\\uDDE9-\\uDDFF\\uDE46-\\uDEFF\\uDF57-\\uDF5F\\uDF72-\\uDFFF]|\\uD835[\\uDC55\\uDC9D\\uDCA0\\uDCA1\\uDCA3\\uDCA4\\uDCA7\\uDCA8\\uDCAD\\uDCBA\\uDCBC\\uDCC4\\uDD06\\uDD0B\\uDD0C\\uDD15\\uDD1D\\uDD3A\\uDD3F\\uDD45\\uDD47-\\uDD49\\uDD51\\uDEA6\\uDEA7\\uDFCC\\uDFCD]|\\uD836[\\uDE8C-\\uDE9A\\uDEA0\\uDEB0-\\uDFFF]|\\uD838[\\uDC07\\uDC19\\uDC1A\\uDC22\\uDC25\\uDC2B-\\uDFFF]|\\uD83A[\\uDCC5\\uDCC6\\uDCD7-\\uDCFF\\uDD4B-\\uDD4F\\uDD5A-\\uDD5D\\uDD60-\\uDFFF]|\\uD83B[\\uDC00-\\uDDFF\\uDE04\\uDE20\\uDE23\\uDE25\\uDE26\\uDE28\\uDE33\\uDE38\\uDE3A\\uDE3C-\\uDE41\\uDE43-\\uDE46\\uDE48\\uDE4A\\uDE4C\\uDE50\\uDE53\\uDE55\\uDE56\\uDE58\\uDE5A\\uDE5C\\uDE5E\\uDE60\\uDE63\\uDE65\\uDE66\\uDE6B\\uDE73\\uDE78\\uDE7D\\uDE7F\\uDE8A\\uDE9C-\\uDEA0\\uDEA4\\uDEAA\\uDEBC-\\uDEEF\\uDEF2-\\uDFFF]|\\uD83C[\\uDC2C-\\uDC2F\\uDC94-\\uDC9F\\uDCAF\\uDCB0\\uDCC0\\uDCD0\\uDCF6-\\uDCFF\\uDD0D-\\uDD0F\\uDD2F\\uDD6C-\\uDD6F\\uDDAD-\\uDDE5\\uDE03-\\uDE0F\\uDE3C-\\uDE3F\\uDE49-\\uDE4F\\uDE52-\\uDEFF]|\\uD83D[\\uDED3-\\uDEDF\\uDEED-\\uDEEF\\uDEF7-\\uDEFF\\uDF74-\\uDF7F\\uDFD5-\\uDFFF]|\\uD83E[\\uDC0C-\\uDC0F\\uDC48-\\uDC4F\\uDC5A-\\uDC5F\\uDC88-\\uDC8F\\uDCAE-\\uDD0F\\uDD1F\\uDD28-\\uDD2F\\uDD31\\uDD32\\uDD3F\\uDD4C-\\uDD4F\\uDD5F-\\uDD7F\\uDD92-\\uDDBF\\uDDC1-\\uDFFF]|\\uD869[\\uDED7-\\uDEFF]|\\uD86D[\\uDF35-\\uDF3F]|\\uD86E[\\uDC1E\\uDC1F]|\\uD873[\\uDEA2-\\uDFFF]|\\uD87E[\\uDE1E-\\uDFFF]|\\uDB40[\\uDC00\\uDC02-\\uDC1F\\uDC80-\\uDCFF\\uDDF0-\\uDFFF]|[\\uDBBF\\uDBFF][\\uDFFE\\uDFFF]\"\n }, {\n name: 'Co',\n alias: 'Private_Use',\n bmp: \"\\uE000-\\uF8FF\",\n astral: \"[\\uDB80-\\uDBBE\\uDBC0-\\uDBFE][\\uDC00-\\uDFFF]|[\\uDBBF\\uDBFF][\\uDC00-\\uDFFD]\"\n }, {\n name: 'Cs',\n alias: 'Surrogate',\n bmp: \"\\uD800-\\uDFFF\"\n }, {\n name: 'L',\n alias: 'Letter',\n bmp: \"A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\",\n astral: \"\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]\"\n }, {\n name: 'Ll',\n alias: 'Lowercase_Letter',\n bmp: \"a-z\\xB5\\xDF-\\xF6\\xF8-\\xFF\\u0101\\u0103\\u0105\\u0107\\u0109\\u010B\\u010D\\u010F\\u0111\\u0113\\u0115\\u0117\\u0119\\u011B\\u011D\\u011F\\u0121\\u0123\\u0125\\u0127\\u0129\\u012B\\u012D\\u012F\\u0131\\u0133\\u0135\\u0137\\u0138\\u013A\\u013C\\u013E\\u0140\\u0142\\u0144\\u0146\\u0148\\u0149\\u014B\\u014D\\u014F\\u0151\\u0153\\u0155\\u0157\\u0159\\u015B\\u015D\\u015F\\u0161\\u0163\\u0165\\u0167\\u0169\\u016B\\u016D\\u016F\\u0171\\u0173\\u0175\\u0177\\u017A\\u017C\\u017E-\\u0180\\u0183\\u0185\\u0188\\u018C\\u018D\\u0192\\u0195\\u0199-\\u019B\\u019E\\u01A1\\u01A3\\u01A5\\u01A8\\u01AA\\u01AB\\u01AD\\u01B0\\u01B4\\u01B6\\u01B9\\u01BA\\u01BD-\\u01BF\\u01C6\\u01C9\\u01CC\\u01CE\\u01D0\\u01D2\\u01D4\\u01D6\\u01D8\\u01DA\\u01DC\\u01DD\\u01DF\\u01E1\\u01E3\\u01E5\\u01E7\\u01E9\\u01EB\\u01ED\\u01EF\\u01F0\\u01F3\\u01F5\\u01F9\\u01FB\\u01FD\\u01FF\\u0201\\u0203\\u0205\\u0207\\u0209\\u020B\\u020D\\u020F\\u0211\\u0213\\u0215\\u0217\\u0219\\u021B\\u021D\\u021F\\u0221\\u0223\\u0225\\u0227\\u0229\\u022B\\u022D\\u022F\\u0231\\u0233-\\u0239\\u023C\\u023F\\u0240\\u0242\\u0247\\u0249\\u024B\\u024D\\u024F-\\u0293\\u0295-\\u02AF\\u0371\\u0373\\u0377\\u037B-\\u037D\\u0390\\u03AC-\\u03CE\\u03D0\\u03D1\\u03D5-\\u03D7\\u03D9\\u03DB\\u03DD\\u03DF\\u03E1\\u03E3\\u03E5\\u03E7\\u03E9\\u03EB\\u03ED\\u03EF-\\u03F3\\u03F5\\u03F8\\u03FB\\u03FC\\u0430-\\u045F\\u0461\\u0463\\u0465\\u0467\\u0469\\u046B\\u046D\\u046F\\u0471\\u0473\\u0475\\u0477\\u0479\\u047B\\u047D\\u047F\\u0481\\u048B\\u048D\\u048F\\u0491\\u0493\\u0495\\u0497\\u0499\\u049B\\u049D\\u049F\\u04A1\\u04A3\\u04A5\\u04A7\\u04A9\\u04AB\\u04AD\\u04AF\\u04B1\\u04B3\\u04B5\\u04B7\\u04B9\\u04BB\\u04BD\\u04BF\\u04C2\\u04C4\\u04C6\\u04C8\\u04CA\\u04CC\\u04CE\\u04CF\\u04D1\\u04D3\\u04D5\\u04D7\\u04D9\\u04DB\\u04DD\\u04DF\\u04E1\\u04E3\\u04E5\\u04E7\\u04E9\\u04EB\\u04ED\\u04EF\\u04F1\\u04F3\\u04F5\\u04F7\\u04F9\\u04FB\\u04FD\\u04FF\\u0501\\u0503\\u0505\\u0507\\u0509\\u050B\\u050D\\u050F\\u0511\\u0513\\u0515\\u0517\\u0519\\u051B\\u051D\\u051F\\u0521\\u0523\\u0525\\u0527\\u0529\\u052B\\u052D\\u052F\\u0561-\\u0587\\u13F8-\\u13FD\\u1C80-\\u1C88\\u1D00-\\u1D2B\\u1D6B-\\u1D77\\u1D79-\\u1D9A\\u1E01\\u1E03\\u1E05\\u1E07\\u1E09\\u1E0B\\u1E0D\\u1E0F\\u1E11\\u1E13\\u1E15\\u1E17\\u1E19\\u1E1B\\u1E1D\\u1E1F\\u1E21\\u1E23\\u1E25\\u1E27\\u1E29\\u1E2B\\u1E2D\\u1E2F\\u1E31\\u1E33\\u1E35\\u1E37\\u1E39\\u1E3B\\u1E3D\\u1E3F\\u1E41\\u1E43\\u1E45\\u1E47\\u1E49\\u1E4B\\u1E4D\\u1E4F\\u1E51\\u1E53\\u1E55\\u1E57\\u1E59\\u1E5B\\u1E5D\\u1E5F\\u1E61\\u1E63\\u1E65\\u1E67\\u1E69\\u1E6B\\u1E6D\\u1E6F\\u1E71\\u1E73\\u1E75\\u1E77\\u1E79\\u1E7B\\u1E7D\\u1E7F\\u1E81\\u1E83\\u1E85\\u1E87\\u1E89\\u1E8B\\u1E8D\\u1E8F\\u1E91\\u1E93\\u1E95-\\u1E9D\\u1E9F\\u1EA1\\u1EA3\\u1EA5\\u1EA7\\u1EA9\\u1EAB\\u1EAD\\u1EAF\\u1EB1\\u1EB3\\u1EB5\\u1EB7\\u1EB9\\u1EBB\\u1EBD\\u1EBF\\u1EC1\\u1EC3\\u1EC5\\u1EC7\\u1EC9\\u1ECB\\u1ECD\\u1ECF\\u1ED1\\u1ED3\\u1ED5\\u1ED7\\u1ED9\\u1EDB\\u1EDD\\u1EDF\\u1EE1\\u1EE3\\u1EE5\\u1EE7\\u1EE9\\u1EEB\\u1EED\\u1EEF\\u1EF1\\u1EF3\\u1EF5\\u1EF7\\u1EF9\\u1EFB\\u1EFD\\u1EFF-\\u1F07\\u1F10-\\u1F15\\u1F20-\\u1F27\\u1F30-\\u1F37\\u1F40-\\u1F45\\u1F50-\\u1F57\\u1F60-\\u1F67\\u1F70-\\u1F7D\\u1F80-\\u1F87\\u1F90-\\u1F97\\u1FA0-\\u1FA7\\u1FB0-\\u1FB4\\u1FB6\\u1FB7\\u1FBE\\u1FC2-\\u1FC4\\u1FC6\\u1FC7\\u1FD0-\\u1FD3\\u1FD6\\u1FD7\\u1FE0-\\u1FE7\\u1FF2-\\u1FF4\\u1FF6\\u1FF7\\u210A\\u210E\\u210F\\u2113\\u212F\\u2134\\u2139\\u213C\\u213D\\u2146-\\u2149\\u214E\\u2184\\u2C30-\\u2C5E\\u2C61\\u2C65\\u2C66\\u2C68\\u2C6A\\u2C6C\\u2C71\\u2C73\\u2C74\\u2C76-\\u2C7B\\u2C81\\u2C83\\u2C85\\u2C87\\u2C89\\u2C8B\\u2C8D\\u2C8F\\u2C91\\u2C93\\u2C95\\u2C97\\u2C99\\u2C9B\\u2C9D\\u2C9F\\u2CA1\\u2CA3\\u2CA5\\u2CA7\\u2CA9\\u2CAB\\u2CAD\\u2CAF\\u2CB1\\u2CB3\\u2CB5\\u2CB7\\u2CB9\\u2CBB\\u2CBD\\u2CBF\\u2CC1\\u2CC3\\u2CC5\\u2CC7\\u2CC9\\u2CCB\\u2CCD\\u2CCF\\u2CD1\\u2CD3\\u2CD5\\u2CD7\\u2CD9\\u2CDB\\u2CDD\\u2CDF\\u2CE1\\u2CE3\\u2CE4\\u2CEC\\u2CEE\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\uA641\\uA643\\uA645\\uA647\\uA649\\uA64B\\uA64D\\uA64F\\uA651\\uA653\\uA655\\uA657\\uA659\\uA65B\\uA65D\\uA65F\\uA661\\uA663\\uA665\\uA667\\uA669\\uA66B\\uA66D\\uA681\\uA683\\uA685\\uA687\\uA689\\uA68B\\uA68D\\uA68F\\uA691\\uA693\\uA695\\uA697\\uA699\\uA69B\\uA723\\uA725\\uA727\\uA729\\uA72B\\uA72D\\uA72F-\\uA731\\uA733\\uA735\\uA737\\uA739\\uA73B\\uA73D\\uA73F\\uA741\\uA743\\uA745\\uA747\\uA749\\uA74B\\uA74D\\uA74F\\uA751\\uA753\\uA755\\uA757\\uA759\\uA75B\\uA75D\\uA75F\\uA761\\uA763\\uA765\\uA767\\uA769\\uA76B\\uA76D\\uA76F\\uA771-\\uA778\\uA77A\\uA77C\\uA77F\\uA781\\uA783\\uA785\\uA787\\uA78C\\uA78E\\uA791\\uA793-\\uA795\\uA797\\uA799\\uA79B\\uA79D\\uA79F\\uA7A1\\uA7A3\\uA7A5\\uA7A7\\uA7A9\\uA7B5\\uA7B7\\uA7FA\\uAB30-\\uAB5A\\uAB60-\\uAB65\\uAB70-\\uABBF\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF41-\\uFF5A\",\n astral: \"\\uD801[\\uDC28-\\uDC4F\\uDCD8-\\uDCFB]|\\uD803[\\uDCC0-\\uDCF2]|\\uD806[\\uDCC0-\\uDCDF]|\\uD835[\\uDC1A-\\uDC33\\uDC4E-\\uDC54\\uDC56-\\uDC67\\uDC82-\\uDC9B\\uDCB6-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDCEA-\\uDD03\\uDD1E-\\uDD37\\uDD52-\\uDD6B\\uDD86-\\uDD9F\\uDDBA-\\uDDD3\\uDDEE-\\uDE07\\uDE22-\\uDE3B\\uDE56-\\uDE6F\\uDE8A-\\uDEA5\\uDEC2-\\uDEDA\\uDEDC-\\uDEE1\\uDEFC-\\uDF14\\uDF16-\\uDF1B\\uDF36-\\uDF4E\\uDF50-\\uDF55\\uDF70-\\uDF88\\uDF8A-\\uDF8F\\uDFAA-\\uDFC2\\uDFC4-\\uDFC9\\uDFCB]|\\uD83A[\\uDD22-\\uDD43]\"\n }, {\n name: 'Lm',\n alias: 'Modifier_Letter',\n bmp: \"\\u02B0-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0374\\u037A\\u0559\\u0640\\u06E5\\u06E6\\u07F4\\u07F5\\u07FA\\u081A\\u0824\\u0828\\u0971\\u0E46\\u0EC6\\u10FC\\u17D7\\u1843\\u1AA7\\u1C78-\\u1C7D\\u1D2C-\\u1D6A\\u1D78\\u1D9B-\\u1DBF\\u2071\\u207F\\u2090-\\u209C\\u2C7C\\u2C7D\\u2D6F\\u2E2F\\u3005\\u3031-\\u3035\\u303B\\u309D\\u309E\\u30FC-\\u30FE\\uA015\\uA4F8-\\uA4FD\\uA60C\\uA67F\\uA69C\\uA69D\\uA717-\\uA71F\\uA770\\uA788\\uA7F8\\uA7F9\\uA9CF\\uA9E6\\uAA70\\uAADD\\uAAF3\\uAAF4\\uAB5C-\\uAB5F\\uFF70\\uFF9E\\uFF9F\",\n astral: \"\\uD81A[\\uDF40-\\uDF43]|\\uD81B[\\uDF93-\\uDF9F\\uDFE0]\"\n }, {\n name: 'Lo',\n alias: 'Other_Letter',\n bmp: \"\\xAA\\xBA\\u01BB\\u01C0-\\u01C3\\u0294\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u063F\\u0641-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u0800-\\u0815\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0972-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E45\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10D0-\\u10FA\\u10FD-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17DC\\u1820-\\u1842\\u1844-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C77\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u2135-\\u2138\\u2D30-\\u2D67\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3006\\u303C\\u3041-\\u3096\\u309F\\u30A1-\\u30FA\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA014\\uA016-\\uA48C\\uA4D0-\\uA4F7\\uA500-\\uA60B\\uA610-\\uA61F\\uA62A\\uA62B\\uA66E\\uA6A0-\\uA6E5\\uA78F\\uA7F7\\uA7FB-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9E0-\\uA9E4\\uA9E7-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA6F\\uAA71-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB\\uAADC\\uAAE0-\\uAAEA\\uAAF2\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF66-\\uFF6F\\uFF71-\\uFF9D\\uFFA0-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\",\n astral: \"\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC50-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]\"\n }, {\n name: 'Lt',\n alias: 'Titlecase_Letter',\n bmp: \"\\u01C5\\u01C8\\u01CB\\u01F2\\u1F88-\\u1F8F\\u1F98-\\u1F9F\\u1FA8-\\u1FAF\\u1FBC\\u1FCC\\u1FFC\"\n }, {\n name: 'Lu',\n alias: 'Uppercase_Letter',\n bmp: \"A-Z\\xC0-\\xD6\\xD8-\\xDE\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193\\u0194\\u0196-\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C7\\u01CA\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F1\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E\\u038F\\u0391-\\u03A1\\u03A3-\\u03AB\\u03CF\\u03D2-\\u03D4\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F4\\u03F7\\u03F9\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u10A0-\\u10C5\\u10C7\\u10CD\\u13A0-\\u13F5\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1FB8-\\u1FBB\\u1FC8-\\u1FCB\\u1FD8-\\u1FDB\\u1FE8-\\u1FEC\\u1FF8-\\u1FFB\\u2102\\u2107\\u210B-\\u210D\\u2110-\\u2112\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u2130-\\u2133\\u213E\\u213F\\u2145\\u2183\\u2C00-\\u2C2E\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AE\\uA7B0-\\uA7B4\\uA7B6\\uFF21-\\uFF3A\",\n astral: \"\\uD801[\\uDC00-\\uDC27\\uDCB0-\\uDCD3]|\\uD803[\\uDC80-\\uDCB2]|\\uD806[\\uDCA0-\\uDCBF]|\\uD835[\\uDC00-\\uDC19\\uDC34-\\uDC4D\\uDC68-\\uDC81\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB5\\uDCD0-\\uDCE9\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD38\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD6C-\\uDD85\\uDDA0-\\uDDB9\\uDDD4-\\uDDED\\uDE08-\\uDE21\\uDE3C-\\uDE55\\uDE70-\\uDE89\\uDEA8-\\uDEC0\\uDEE2-\\uDEFA\\uDF1C-\\uDF34\\uDF56-\\uDF6E\\uDF90-\\uDFA8\\uDFCA]|\\uD83A[\\uDD00-\\uDD21]\"\n }, {\n name: 'M',\n alias: 'Mark',\n bmp: \"\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D4-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u1885\\u1886\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFB-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\",\n astral: \"\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDDCA-\\uDDCC\\uDE2C-\\uDE37\\uDE3E\\uDEDF-\\uDEEA\\uDF00-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC35-\\uDC46\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDDDC\\uDDDD\\uDE30-\\uDE40\\uDEAB-\\uDEB7\\uDF1D-\\uDF2B]|\\uD807[\\uDC2F-\\uDC36\\uDC38-\\uDC3F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDCD0-\\uDCD6\\uDD44-\\uDD4A]|\\uDB40[\\uDD00-\\uDDEF]\"\n }, {\n name: 'Mc',\n alias: 'Spacing_Mark',\n bmp: \"\\u0903\\u093B\\u093E-\\u0940\\u0949-\\u094C\\u094E\\u094F\\u0982\\u0983\\u09BE-\\u09C0\\u09C7\\u09C8\\u09CB\\u09CC\\u09D7\\u0A03\\u0A3E-\\u0A40\\u0A83\\u0ABE-\\u0AC0\\u0AC9\\u0ACB\\u0ACC\\u0B02\\u0B03\\u0B3E\\u0B40\\u0B47\\u0B48\\u0B4B\\u0B4C\\u0B57\\u0BBE\\u0BBF\\u0BC1\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD7\\u0C01-\\u0C03\\u0C41-\\u0C44\\u0C82\\u0C83\\u0CBE\\u0CC0-\\u0CC4\\u0CC7\\u0CC8\\u0CCA\\u0CCB\\u0CD5\\u0CD6\\u0D02\\u0D03\\u0D3E-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D57\\u0D82\\u0D83\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0F3E\\u0F3F\\u0F7F\\u102B\\u102C\\u1031\\u1038\\u103B\\u103C\\u1056\\u1057\\u1062-\\u1064\\u1067-\\u106D\\u1083\\u1084\\u1087-\\u108C\\u108F\\u109A-\\u109C\\u17B6\\u17BE-\\u17C5\\u17C7\\u17C8\\u1923-\\u1926\\u1929-\\u192B\\u1930\\u1931\\u1933-\\u1938\\u1A19\\u1A1A\\u1A55\\u1A57\\u1A61\\u1A63\\u1A64\\u1A6D-\\u1A72\\u1B04\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43\\u1B44\\u1B82\\u1BA1\\u1BA6\\u1BA7\\u1BAA\\u1BE7\\u1BEA-\\u1BEC\\u1BEE\\u1BF2\\u1BF3\\u1C24-\\u1C2B\\u1C34\\u1C35\\u1CE1\\u1CF2\\u1CF3\\u302E\\u302F\\uA823\\uA824\\uA827\\uA880\\uA881\\uA8B4-\\uA8C3\\uA952\\uA953\\uA983\\uA9B4\\uA9B5\\uA9BA\\uA9BB\\uA9BD-\\uA9C0\\uAA2F\\uAA30\\uAA33\\uAA34\\uAA4D\\uAA7B\\uAA7D\\uAAEB\\uAAEE\\uAAEF\\uAAF5\\uABE3\\uABE4\\uABE6\\uABE7\\uABE9\\uABEA\\uABEC\",\n astral: \"\\uD804[\\uDC00\\uDC02\\uDC82\\uDCB0-\\uDCB2\\uDCB7\\uDCB8\\uDD2C\\uDD82\\uDDB3-\\uDDB5\\uDDBF\\uDDC0\\uDE2C-\\uDE2E\\uDE32\\uDE33\\uDE35\\uDEE0-\\uDEE2\\uDF02\\uDF03\\uDF3E\\uDF3F\\uDF41-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63]|\\uD805[\\uDC35-\\uDC37\\uDC40\\uDC41\\uDC45\\uDCB0-\\uDCB2\\uDCB9\\uDCBB-\\uDCBE\\uDCC1\\uDDAF-\\uDDB1\\uDDB8-\\uDDBB\\uDDBE\\uDE30-\\uDE32\\uDE3B\\uDE3C\\uDE3E\\uDEAC\\uDEAE\\uDEAF\\uDEB6\\uDF20\\uDF21\\uDF26]|\\uD807[\\uDC2F\\uDC3E\\uDCA9\\uDCB1\\uDCB4]|\\uD81B[\\uDF51-\\uDF7E]|\\uD834[\\uDD65\\uDD66\\uDD6D-\\uDD72]\"\n }, {\n name: 'Me',\n alias: 'Enclosing_Mark',\n bmp: \"\\u0488\\u0489\\u1ABE\\u20DD-\\u20E0\\u20E2-\\u20E4\\uA670-\\uA672\"\n }, {\n name: 'Mn',\n alias: 'Nonspacing_Mark',\n bmp: \"\\u0300-\\u036F\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D4-\\u08E1\\u08E3-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C00\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81\\u0CBC\\u0CBF\\u0CC6\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D01\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u1885\\u1886\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ABD\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFB-\\u1DFF\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099\\u309A\\uA66F\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA8C4\\uA8C5\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9E5\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\",\n astral: \"\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC01\\uDC38-\\uDC46\\uDC7F-\\uDC81\\uDCB3-\\uDCB6\\uDCB9\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD2B\\uDD2D-\\uDD34\\uDD73\\uDD80\\uDD81\\uDDB6-\\uDDBE\\uDDCA-\\uDDCC\\uDE2F-\\uDE31\\uDE34\\uDE36\\uDE37\\uDE3E\\uDEDF\\uDEE3-\\uDEEA\\uDF00\\uDF01\\uDF3C\\uDF40\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC38-\\uDC3F\\uDC42-\\uDC44\\uDC46\\uDCB3-\\uDCB8\\uDCBA\\uDCBF\\uDCC0\\uDCC2\\uDCC3\\uDDB2-\\uDDB5\\uDDBC\\uDDBD\\uDDBF\\uDDC0\\uDDDC\\uDDDD\\uDE33-\\uDE3A\\uDE3D\\uDE3F\\uDE40\\uDEAB\\uDEAD\\uDEB0-\\uDEB5\\uDEB7\\uDF1D-\\uDF1F\\uDF22-\\uDF25\\uDF27-\\uDF2B]|\\uD807[\\uDC30-\\uDC36\\uDC38-\\uDC3D\\uDC3F\\uDC92-\\uDCA7\\uDCAA-\\uDCB0\\uDCB2\\uDCB3\\uDCB5\\uDCB6]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD67-\\uDD69\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDCD0-\\uDCD6\\uDD44-\\uDD4A]|\\uDB40[\\uDD00-\\uDDEF]\"\n }, {\n name: 'N',\n alias: 'Number',\n bmp: \"0-9\\xB2\\xB3\\xB9\\xBC-\\xBE\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u09F4-\\u09F9\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0B72-\\u0B77\\u0BE6-\\u0BF2\\u0C66-\\u0C6F\\u0C78-\\u0C7E\\u0CE6-\\u0CEF\\u0D58-\\u0D5E\\u0D66-\\u0D78\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F33\\u1040-\\u1049\\u1090-\\u1099\\u1369-\\u137C\\u16EE-\\u16F0\\u17E0-\\u17E9\\u17F0-\\u17F9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19DA\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\u2070\\u2074-\\u2079\\u2080-\\u2089\\u2150-\\u2182\\u2185-\\u2189\\u2460-\\u249B\\u24EA-\\u24FF\\u2776-\\u2793\\u2CFD\\u3007\\u3021-\\u3029\\u3038-\\u303A\\u3192-\\u3195\\u3220-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\uA620-\\uA629\\uA6E6-\\uA6EF\\uA830-\\uA835\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19\",\n astral: \"\\uD800[\\uDD07-\\uDD33\\uDD40-\\uDD78\\uDD8A\\uDD8B\\uDEE1-\\uDEFB\\uDF20-\\uDF23\\uDF41\\uDF4A\\uDFD1-\\uDFD5]|\\uD801[\\uDCA0-\\uDCA9]|\\uD802[\\uDC58-\\uDC5F\\uDC79-\\uDC7F\\uDCA7-\\uDCAF\\uDCFB-\\uDCFF\\uDD16-\\uDD1B\\uDDBC\\uDDBD\\uDDC0-\\uDDCF\\uDDD2-\\uDDFF\\uDE40-\\uDE47\\uDE7D\\uDE7E\\uDE9D-\\uDE9F\\uDEEB-\\uDEEF\\uDF58-\\uDF5F\\uDF78-\\uDF7F\\uDFA9-\\uDFAF]|\\uD803[\\uDCFA-\\uDCFF\\uDE60-\\uDE7E]|\\uD804[\\uDC52-\\uDC6F\\uDCF0-\\uDCF9\\uDD36-\\uDD3F\\uDDD0-\\uDDD9\\uDDE1-\\uDDF4\\uDEF0-\\uDEF9]|\\uD805[\\uDC50-\\uDC59\\uDCD0-\\uDCD9\\uDE50-\\uDE59\\uDEC0-\\uDEC9\\uDF30-\\uDF3B]|\\uD806[\\uDCE0-\\uDCF2]|\\uD807[\\uDC50-\\uDC6C]|\\uD809[\\uDC00-\\uDC6E]|\\uD81A[\\uDE60-\\uDE69\\uDF50-\\uDF59\\uDF5B-\\uDF61]|\\uD834[\\uDF60-\\uDF71]|\\uD835[\\uDFCE-\\uDFFF]|\\uD83A[\\uDCC7-\\uDCCF\\uDD50-\\uDD59]|\\uD83C[\\uDD00-\\uDD0C]\"\n }, {\n name: 'Nd',\n alias: 'Decimal_Number',\n bmp: \"0-9\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0BE6-\\u0BEF\\u0C66-\\u0C6F\\u0CE6-\\u0CEF\\u0D66-\\u0D6F\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F29\\u1040-\\u1049\\u1090-\\u1099\\u17E0-\\u17E9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19D9\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\uA620-\\uA629\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19\",\n astral: \"\\uD801[\\uDCA0-\\uDCA9]|\\uD804[\\uDC66-\\uDC6F\\uDCF0-\\uDCF9\\uDD36-\\uDD3F\\uDDD0-\\uDDD9\\uDEF0-\\uDEF9]|\\uD805[\\uDC50-\\uDC59\\uDCD0-\\uDCD9\\uDE50-\\uDE59\\uDEC0-\\uDEC9\\uDF30-\\uDF39]|\\uD806[\\uDCE0-\\uDCE9]|\\uD807[\\uDC50-\\uDC59]|\\uD81A[\\uDE60-\\uDE69\\uDF50-\\uDF59]|\\uD835[\\uDFCE-\\uDFFF]|\\uD83A[\\uDD50-\\uDD59]\"\n }, {\n name: 'Nl',\n alias: 'Letter_Number',\n bmp: \"\\u16EE-\\u16F0\\u2160-\\u2182\\u2185-\\u2188\\u3007\\u3021-\\u3029\\u3038-\\u303A\\uA6E6-\\uA6EF\",\n astral: \"\\uD800[\\uDD40-\\uDD74\\uDF41\\uDF4A\\uDFD1-\\uDFD5]|\\uD809[\\uDC00-\\uDC6E]\"\n }, {\n name: 'No',\n alias: 'Other_Number',\n bmp: \"\\xB2\\xB3\\xB9\\xBC-\\xBE\\u09F4-\\u09F9\\u0B72-\\u0B77\\u0BF0-\\u0BF2\\u0C78-\\u0C7E\\u0D58-\\u0D5E\\u0D70-\\u0D78\\u0F2A-\\u0F33\\u1369-\\u137C\\u17F0-\\u17F9\\u19DA\\u2070\\u2074-\\u2079\\u2080-\\u2089\\u2150-\\u215F\\u2189\\u2460-\\u249B\\u24EA-\\u24FF\\u2776-\\u2793\\u2CFD\\u3192-\\u3195\\u3220-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\uA830-\\uA835\",\n astral: \"\\uD800[\\uDD07-\\uDD33\\uDD75-\\uDD78\\uDD8A\\uDD8B\\uDEE1-\\uDEFB\\uDF20-\\uDF23]|\\uD802[\\uDC58-\\uDC5F\\uDC79-\\uDC7F\\uDCA7-\\uDCAF\\uDCFB-\\uDCFF\\uDD16-\\uDD1B\\uDDBC\\uDDBD\\uDDC0-\\uDDCF\\uDDD2-\\uDDFF\\uDE40-\\uDE47\\uDE7D\\uDE7E\\uDE9D-\\uDE9F\\uDEEB-\\uDEEF\\uDF58-\\uDF5F\\uDF78-\\uDF7F\\uDFA9-\\uDFAF]|\\uD803[\\uDCFA-\\uDCFF\\uDE60-\\uDE7E]|\\uD804[\\uDC52-\\uDC65\\uDDE1-\\uDDF4]|\\uD805[\\uDF3A\\uDF3B]|\\uD806[\\uDCEA-\\uDCF2]|\\uD807[\\uDC5A-\\uDC6C]|\\uD81A[\\uDF5B-\\uDF61]|\\uD834[\\uDF60-\\uDF71]|\\uD83A[\\uDCC7-\\uDCCF]|\\uD83C[\\uDD00-\\uDD0C]\"\n }, {\n name: 'P',\n alias: 'Punctuation',\n bmp: \"!-#%-\\\\x2A,-/:;\\\\x3F@\\\\x5B-\\\\x5D_\\\\x7B}\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0AF0\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E44\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65\",\n astral: \"\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC9\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDC4B-\\uDC4F\\uDC5B\\uDC5D\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDE60-\\uDE6C\\uDF3C-\\uDF3E]|\\uD807[\\uDC41-\\uDC45\\uDC70\\uDC71]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]|\\uD83A[\\uDD5E\\uDD5F]\"\n }, {\n name: 'Pc',\n alias: 'Connector_Punctuation',\n bmp: \"_\\u203F\\u2040\\u2054\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFF3F\"\n }, {\n name: 'Pd',\n alias: 'Dash_Punctuation',\n bmp: \"\\\\x2D\\u058A\\u05BE\\u1400\\u1806\\u2010-\\u2015\\u2E17\\u2E1A\\u2E3A\\u2E3B\\u2E40\\u301C\\u3030\\u30A0\\uFE31\\uFE32\\uFE58\\uFE63\\uFF0D\"\n }, {\n name: 'Pe',\n alias: 'Close_Punctuation',\n bmp: \"\\\\x29\\\\x5D}\\u0F3B\\u0F3D\\u169C\\u2046\\u207E\\u208E\\u2309\\u230B\\u232A\\u2769\\u276B\\u276D\\u276F\\u2771\\u2773\\u2775\\u27C6\\u27E7\\u27E9\\u27EB\\u27ED\\u27EF\\u2984\\u2986\\u2988\\u298A\\u298C\\u298E\\u2990\\u2992\\u2994\\u2996\\u2998\\u29D9\\u29DB\\u29FD\\u2E23\\u2E25\\u2E27\\u2E29\\u3009\\u300B\\u300D\\u300F\\u3011\\u3015\\u3017\\u3019\\u301B\\u301E\\u301F\\uFD3E\\uFE18\\uFE36\\uFE38\\uFE3A\\uFE3C\\uFE3E\\uFE40\\uFE42\\uFE44\\uFE48\\uFE5A\\uFE5C\\uFE5E\\uFF09\\uFF3D\\uFF5D\\uFF60\\uFF63\"\n }, {\n name: 'Pf',\n alias: 'Final_Punctuation',\n bmp: \"\\xBB\\u2019\\u201D\\u203A\\u2E03\\u2E05\\u2E0A\\u2E0D\\u2E1D\\u2E21\"\n }, {\n name: 'Pi',\n alias: 'Initial_Punctuation',\n bmp: \"\\xAB\\u2018\\u201B\\u201C\\u201F\\u2039\\u2E02\\u2E04\\u2E09\\u2E0C\\u2E1C\\u2E20\"\n }, {\n name: 'Po',\n alias: 'Other_Punctuation',\n bmp: \"!-#%-'\\\\x2A,\\\\x2E/:;\\\\x3F@\\\\x5C\\xA1\\xA7\\xB6\\xB7\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0AF0\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u166D\\u166E\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u1805\\u1807-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2016\\u2017\\u2020-\\u2027\\u2030-\\u2038\\u203B-\\u203E\\u2041-\\u2043\\u2047-\\u2051\\u2053\\u2055-\\u205E\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00\\u2E01\\u2E06-\\u2E08\\u2E0B\\u2E0E-\\u2E16\\u2E18\\u2E19\\u2E1B\\u2E1E\\u2E1F\\u2E2A-\\u2E2E\\u2E30-\\u2E39\\u2E3C-\\u2E3F\\u2E41\\u2E43\\u2E44\\u3001-\\u3003\\u303D\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFE10-\\uFE16\\uFE19\\uFE30\\uFE45\\uFE46\\uFE49-\\uFE4C\\uFE50-\\uFE52\\uFE54-\\uFE57\\uFE5F-\\uFE61\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF07\\uFF0A\\uFF0C\\uFF0E\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3C\\uFF61\\uFF64\\uFF65\",\n astral: \"\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC9\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDC4B-\\uDC4F\\uDC5B\\uDC5D\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDE60-\\uDE6C\\uDF3C-\\uDF3E]|\\uD807[\\uDC41-\\uDC45\\uDC70\\uDC71]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]|\\uD83A[\\uDD5E\\uDD5F]\"\n }, {\n name: 'Ps',\n alias: 'Open_Punctuation',\n bmp: \"\\\\x28\\\\x5B\\\\x7B\\u0F3A\\u0F3C\\u169B\\u201A\\u201E\\u2045\\u207D\\u208D\\u2308\\u230A\\u2329\\u2768\\u276A\\u276C\\u276E\\u2770\\u2772\\u2774\\u27C5\\u27E6\\u27E8\\u27EA\\u27EC\\u27EE\\u2983\\u2985\\u2987\\u2989\\u298B\\u298D\\u298F\\u2991\\u2993\\u2995\\u2997\\u29D8\\u29DA\\u29FC\\u2E22\\u2E24\\u2E26\\u2E28\\u2E42\\u3008\\u300A\\u300C\\u300E\\u3010\\u3014\\u3016\\u3018\\u301A\\u301D\\uFD3F\\uFE17\\uFE35\\uFE37\\uFE39\\uFE3B\\uFE3D\\uFE3F\\uFE41\\uFE43\\uFE47\\uFE59\\uFE5B\\uFE5D\\uFF08\\uFF3B\\uFF5B\\uFF5F\\uFF62\"\n }, {\n name: 'S',\n alias: 'Symbol',\n bmp: \"\\\\x24\\\\x2B<->\\\\x5E`\\\\x7C~\\xA2-\\xA6\\xA8\\xA9\\xAC\\xAE-\\xB1\\xB4\\xB8\\xD7\\xF7\\u02C2-\\u02C5\\u02D2-\\u02DF\\u02E5-\\u02EB\\u02ED\\u02EF-\\u02FF\\u0375\\u0384\\u0385\\u03F6\\u0482\\u058D-\\u058F\\u0606-\\u0608\\u060B\\u060E\\u060F\\u06DE\\u06E9\\u06FD\\u06FE\\u07F6\\u09F2\\u09F3\\u09FA\\u09FB\\u0AF1\\u0B70\\u0BF3-\\u0BFA\\u0C7F\\u0D4F\\u0D79\\u0E3F\\u0F01-\\u0F03\\u0F13\\u0F15-\\u0F17\\u0F1A-\\u0F1F\\u0F34\\u0F36\\u0F38\\u0FBE-\\u0FC5\\u0FC7-\\u0FCC\\u0FCE\\u0FCF\\u0FD5-\\u0FD8\\u109E\\u109F\\u1390-\\u1399\\u17DB\\u1940\\u19DE-\\u19FF\\u1B61-\\u1B6A\\u1B74-\\u1B7C\\u1FBD\\u1FBF-\\u1FC1\\u1FCD-\\u1FCF\\u1FDD-\\u1FDF\\u1FED-\\u1FEF\\u1FFD\\u1FFE\\u2044\\u2052\\u207A-\\u207C\\u208A-\\u208C\\u20A0-\\u20BE\\u2100\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u2140-\\u2144\\u214A-\\u214D\\u214F\\u218A\\u218B\\u2190-\\u2307\\u230C-\\u2328\\u232B-\\u23FE\\u2400-\\u2426\\u2440-\\u244A\\u249C-\\u24E9\\u2500-\\u2767\\u2794-\\u27C4\\u27C7-\\u27E5\\u27F0-\\u2982\\u2999-\\u29D7\\u29DC-\\u29FB\\u29FE-\\u2B73\\u2B76-\\u2B95\\u2B98-\\u2BB9\\u2BBD-\\u2BC8\\u2BCA-\\u2BD1\\u2BEC-\\u2BEF\\u2CE5-\\u2CEA\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u2FF0-\\u2FFB\\u3004\\u3012\\u3013\\u3020\\u3036\\u3037\\u303E\\u303F\\u309B\\u309C\\u3190\\u3191\\u3196-\\u319F\\u31C0-\\u31E3\\u3200-\\u321E\\u322A-\\u3247\\u3250\\u3260-\\u327F\\u328A-\\u32B0\\u32C0-\\u32FE\\u3300-\\u33FF\\u4DC0-\\u4DFF\\uA490-\\uA4C6\\uA700-\\uA716\\uA720\\uA721\\uA789\\uA78A\\uA828-\\uA82B\\uA836-\\uA839\\uAA77-\\uAA79\\uAB5B\\uFB29\\uFBB2-\\uFBC1\\uFDFC\\uFDFD\\uFE62\\uFE64-\\uFE66\\uFE69\\uFF04\\uFF0B\\uFF1C-\\uFF1E\\uFF3E\\uFF40\\uFF5C\\uFF5E\\uFFE0-\\uFFE6\\uFFE8-\\uFFEE\\uFFFC\\uFFFD\",\n astral: \"\\uD800[\\uDD37-\\uDD3F\\uDD79-\\uDD89\\uDD8C-\\uDD8E\\uDD90-\\uDD9B\\uDDA0\\uDDD0-\\uDDFC]|\\uD802[\\uDC77\\uDC78\\uDEC8]|\\uD805\\uDF3F|\\uD81A[\\uDF3C-\\uDF3F\\uDF45]|\\uD82F\\uDC9C|\\uD834[\\uDC00-\\uDCF5\\uDD00-\\uDD26\\uDD29-\\uDD64\\uDD6A-\\uDD6C\\uDD83\\uDD84\\uDD8C-\\uDDA9\\uDDAE-\\uDDE8\\uDE00-\\uDE41\\uDE45\\uDF00-\\uDF56]|\\uD835[\\uDEC1\\uDEDB\\uDEFB\\uDF15\\uDF35\\uDF4F\\uDF6F\\uDF89\\uDFA9\\uDFC3]|\\uD836[\\uDC00-\\uDDFF\\uDE37-\\uDE3A\\uDE6D-\\uDE74\\uDE76-\\uDE83\\uDE85\\uDE86]|\\uD83B[\\uDEF0\\uDEF1]|\\uD83C[\\uDC00-\\uDC2B\\uDC30-\\uDC93\\uDCA0-\\uDCAE\\uDCB1-\\uDCBF\\uDCC1-\\uDCCF\\uDCD1-\\uDCF5\\uDD10-\\uDD2E\\uDD30-\\uDD6B\\uDD70-\\uDDAC\\uDDE6-\\uDE02\\uDE10-\\uDE3B\\uDE40-\\uDE48\\uDE50\\uDE51\\uDF00-\\uDFFF]|\\uD83D[\\uDC00-\\uDED2\\uDEE0-\\uDEEC\\uDEF0-\\uDEF6\\uDF00-\\uDF73\\uDF80-\\uDFD4]|\\uD83E[\\uDC00-\\uDC0B\\uDC10-\\uDC47\\uDC50-\\uDC59\\uDC60-\\uDC87\\uDC90-\\uDCAD\\uDD10-\\uDD1E\\uDD20-\\uDD27\\uDD30\\uDD33-\\uDD3E\\uDD40-\\uDD4B\\uDD50-\\uDD5E\\uDD80-\\uDD91\\uDDC0]\"\n }, {\n name: 'Sc',\n alias: 'Currency_Symbol',\n bmp: \"\\\\x24\\xA2-\\xA5\\u058F\\u060B\\u09F2\\u09F3\\u09FB\\u0AF1\\u0BF9\\u0E3F\\u17DB\\u20A0-\\u20BE\\uA838\\uFDFC\\uFE69\\uFF04\\uFFE0\\uFFE1\\uFFE5\\uFFE6\"\n }, {\n name: 'Sk',\n alias: 'Modifier_Symbol',\n bmp: \"\\\\x5E`\\xA8\\xAF\\xB4\\xB8\\u02C2-\\u02C5\\u02D2-\\u02DF\\u02E5-\\u02EB\\u02ED\\u02EF-\\u02FF\\u0375\\u0384\\u0385\\u1FBD\\u1FBF-\\u1FC1\\u1FCD-\\u1FCF\\u1FDD-\\u1FDF\\u1FED-\\u1FEF\\u1FFD\\u1FFE\\u309B\\u309C\\uA700-\\uA716\\uA720\\uA721\\uA789\\uA78A\\uAB5B\\uFBB2-\\uFBC1\\uFF3E\\uFF40\\uFFE3\",\n astral: \"\\uD83C[\\uDFFB-\\uDFFF]\"\n }, {\n name: 'Sm',\n alias: 'Math_Symbol',\n bmp: \"\\\\x2B<->\\\\x7C~\\xAC\\xB1\\xD7\\xF7\\u03F6\\u0606-\\u0608\\u2044\\u2052\\u207A-\\u207C\\u208A-\\u208C\\u2118\\u2140-\\u2144\\u214B\\u2190-\\u2194\\u219A\\u219B\\u21A0\\u21A3\\u21A6\\u21AE\\u21CE\\u21CF\\u21D2\\u21D4\\u21F4-\\u22FF\\u2320\\u2321\\u237C\\u239B-\\u23B3\\u23DC-\\u23E1\\u25B7\\u25C1\\u25F8-\\u25FF\\u266F\\u27C0-\\u27C4\\u27C7-\\u27E5\\u27F0-\\u27FF\\u2900-\\u2982\\u2999-\\u29D7\\u29DC-\\u29FB\\u29FE-\\u2AFF\\u2B30-\\u2B44\\u2B47-\\u2B4C\\uFB29\\uFE62\\uFE64-\\uFE66\\uFF0B\\uFF1C-\\uFF1E\\uFF5C\\uFF5E\\uFFE2\\uFFE9-\\uFFEC\",\n astral: \"\\uD835[\\uDEC1\\uDEDB\\uDEFB\\uDF15\\uDF35\\uDF4F\\uDF6F\\uDF89\\uDFA9\\uDFC3]|\\uD83B[\\uDEF0\\uDEF1]\"\n }, {\n name: 'So',\n alias: 'Other_Symbol',\n bmp: \"\\xA6\\xA9\\xAE\\xB0\\u0482\\u058D\\u058E\\u060E\\u060F\\u06DE\\u06E9\\u06FD\\u06FE\\u07F6\\u09FA\\u0B70\\u0BF3-\\u0BF8\\u0BFA\\u0C7F\\u0D4F\\u0D79\\u0F01-\\u0F03\\u0F13\\u0F15-\\u0F17\\u0F1A-\\u0F1F\\u0F34\\u0F36\\u0F38\\u0FBE-\\u0FC5\\u0FC7-\\u0FCC\\u0FCE\\u0FCF\\u0FD5-\\u0FD8\\u109E\\u109F\\u1390-\\u1399\\u1940\\u19DE-\\u19FF\\u1B61-\\u1B6A\\u1B74-\\u1B7C\\u2100\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116\\u2117\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u214A\\u214C\\u214D\\u214F\\u218A\\u218B\\u2195-\\u2199\\u219C-\\u219F\\u21A1\\u21A2\\u21A4\\u21A5\\u21A7-\\u21AD\\u21AF-\\u21CD\\u21D0\\u21D1\\u21D3\\u21D5-\\u21F3\\u2300-\\u2307\\u230C-\\u231F\\u2322-\\u2328\\u232B-\\u237B\\u237D-\\u239A\\u23B4-\\u23DB\\u23E2-\\u23FE\\u2400-\\u2426\\u2440-\\u244A\\u249C-\\u24E9\\u2500-\\u25B6\\u25B8-\\u25C0\\u25C2-\\u25F7\\u2600-\\u266E\\u2670-\\u2767\\u2794-\\u27BF\\u2800-\\u28FF\\u2B00-\\u2B2F\\u2B45\\u2B46\\u2B4D-\\u2B73\\u2B76-\\u2B95\\u2B98-\\u2BB9\\u2BBD-\\u2BC8\\u2BCA-\\u2BD1\\u2BEC-\\u2BEF\\u2CE5-\\u2CEA\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u2FF0-\\u2FFB\\u3004\\u3012\\u3013\\u3020\\u3036\\u3037\\u303E\\u303F\\u3190\\u3191\\u3196-\\u319F\\u31C0-\\u31E3\\u3200-\\u321E\\u322A-\\u3247\\u3250\\u3260-\\u327F\\u328A-\\u32B0\\u32C0-\\u32FE\\u3300-\\u33FF\\u4DC0-\\u4DFF\\uA490-\\uA4C6\\uA828-\\uA82B\\uA836\\uA837\\uA839\\uAA77-\\uAA79\\uFDFD\\uFFE4\\uFFE8\\uFFED\\uFFEE\\uFFFC\\uFFFD\",\n astral: \"\\uD800[\\uDD37-\\uDD3F\\uDD79-\\uDD89\\uDD8C-\\uDD8E\\uDD90-\\uDD9B\\uDDA0\\uDDD0-\\uDDFC]|\\uD802[\\uDC77\\uDC78\\uDEC8]|\\uD805\\uDF3F|\\uD81A[\\uDF3C-\\uDF3F\\uDF45]|\\uD82F\\uDC9C|\\uD834[\\uDC00-\\uDCF5\\uDD00-\\uDD26\\uDD29-\\uDD64\\uDD6A-\\uDD6C\\uDD83\\uDD84\\uDD8C-\\uDDA9\\uDDAE-\\uDDE8\\uDE00-\\uDE41\\uDE45\\uDF00-\\uDF56]|\\uD836[\\uDC00-\\uDDFF\\uDE37-\\uDE3A\\uDE6D-\\uDE74\\uDE76-\\uDE83\\uDE85\\uDE86]|\\uD83C[\\uDC00-\\uDC2B\\uDC30-\\uDC93\\uDCA0-\\uDCAE\\uDCB1-\\uDCBF\\uDCC1-\\uDCCF\\uDCD1-\\uDCF5\\uDD10-\\uDD2E\\uDD30-\\uDD6B\\uDD70-\\uDDAC\\uDDE6-\\uDE02\\uDE10-\\uDE3B\\uDE40-\\uDE48\\uDE50\\uDE51\\uDF00-\\uDFFA]|\\uD83D[\\uDC00-\\uDED2\\uDEE0-\\uDEEC\\uDEF0-\\uDEF6\\uDF00-\\uDF73\\uDF80-\\uDFD4]|\\uD83E[\\uDC00-\\uDC0B\\uDC10-\\uDC47\\uDC50-\\uDC59\\uDC60-\\uDC87\\uDC90-\\uDCAD\\uDD10-\\uDD1E\\uDD20-\\uDD27\\uDD30\\uDD33-\\uDD3E\\uDD40-\\uDD4B\\uDD50-\\uDD5E\\uDD80-\\uDD91\\uDDC0]\"\n }, {\n name: 'Z',\n alias: 'Separator',\n bmp: \" \\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\"\n }, {\n name: 'Zl',\n alias: 'Line_Separator',\n bmp: \"\\u2028\"\n }, {\n name: 'Zp',\n alias: 'Paragraph_Separator',\n bmp: \"\\u2029\"\n }, {\n name: 'Zs',\n alias: 'Space_Separator',\n bmp: \" \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000\"\n }]);\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/*!\n * XRegExp Unicode Properties 4.0.0\n * \n * Steven Levithan (c) 2012-2017 MIT License\n * Unicode data by Mathias Bynens \n */\n\nexports.default = function (XRegExp) {\n /**\n * Adds properties to meet the UTS #18 Level 1 RL1.2 requirements for Unicode regex support. See\n * . Following are definitions of these properties from\n * UAX #44 :\n *\n * - Alphabetic\n * Characters with the Alphabetic property. Generated from: Lowercase + Uppercase + Lt + Lm +\n * Lo + Nl + Other_Alphabetic.\n *\n * - Default_Ignorable_Code_Point\n * For programmatic determination of default ignorable code points. New characters that should\n * be ignored in rendering (unless explicitly supported) will be assigned in these ranges,\n * permitting programs to correctly handle the default rendering of such characters when not\n * otherwise supported.\n *\n * - Lowercase\n * Characters with the Lowercase property. Generated from: Ll + Other_Lowercase.\n *\n * - Noncharacter_Code_Point\n * Code points permanently reserved for internal use.\n *\n * - Uppercase\n * Characters with the Uppercase property. Generated from: Lu + Other_Uppercase.\n *\n * - White_Space\n * Spaces, separator characters and other control characters which should be treated by\n * programming languages as \"white space\" for the purpose of parsing elements.\n *\n * The properties ASCII, Any, and Assigned are also included but are not defined in UAX #44. UTS\n * #18 RL1.2 additionally requires support for Unicode scripts and general categories. These are\n * included in XRegExp's Unicode Categories and Unicode Scripts addons.\n *\n * Token names are case insensitive, and any spaces, hyphens, and underscores are ignored.\n *\n * Uses Unicode 9.0.0.\n *\n * @requires XRegExp, Unicode Base\n */\n if (!XRegExp.addUnicodeData) {\n throw new ReferenceError('Unicode Base must be loaded before Unicode Properties');\n }\n\n var unicodeData = [{\n name: 'ASCII',\n bmp: '\\0-\\x7F'\n }, {\n name: 'Alphabetic',\n bmp: \"A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0345\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05B0-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0657\\u0659-\\u065F\\u066E-\\u06D3\\u06D5-\\u06DC\\u06E1-\\u06E8\\u06ED-\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710-\\u073F\\u074D-\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0817\\u081A-\\u082C\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08DF\\u08E3-\\u08E9\\u08F0-\\u093B\\u093D-\\u094C\\u094E-\\u0950\\u0955-\\u0963\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD-\\u09C4\\u09C7\\u09C8\\u09CB\\u09CC\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09F0\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B\\u0A4C\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A70-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB\\u0ACC\\u0AD0\\u0AE0-\\u0AE3\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D-\\u0B44\\u0B47\\u0B48\\u0B4B\\u0B4C\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD0\\u0BD7\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4C\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCC\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E46\\u0E4D\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0ECD\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F81\\u0F88-\\u0F97\\u0F99-\\u0FBC\\u1000-\\u1036\\u1038\\u103B-\\u103F\\u1050-\\u1062\\u1065-\\u1068\\u106E-\\u1086\\u108E\\u109C\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1713\\u1720-\\u1733\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17B3\\u17B6-\\u17C8\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u1938\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A61-\\u1A74\\u1AA7\\u1B00-\\u1B33\\u1B35-\\u1B43\\u1B45-\\u1B4B\\u1B80-\\u1BA9\\u1BAC-\\u1BAF\\u1BBA-\\u1BE5\\u1BE7-\\u1BF1\\u1C00-\\u1C35\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1DE7-\\u1DF4\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u24B6-\\u24E9\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA674-\\uA67B\\uA67F-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA827\\uA840-\\uA873\\uA880-\\uA8C3\\uA8C5\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA92A\\uA930-\\uA952\\uA960-\\uA97C\\uA980-\\uA9B2\\uA9B4-\\uA9BF\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAABE\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF5\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\",\n astral: \"\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC45\\uDC82-\\uDCB8\\uDCD0-\\uDCE8\\uDD00-\\uDD32\\uDD50-\\uDD72\\uDD76\\uDD80-\\uDDBF\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE34\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEE8\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D-\\uDF44\\uDF47\\uDF48\\uDF4B\\uDF4C\\uDF50\\uDF57\\uDF5D-\\uDF63]|\\uD805[\\uDC00-\\uDC41\\uDC43-\\uDC45\\uDC47-\\uDC4A\\uDC80-\\uDCC1\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDB5\\uDDB8-\\uDDBE\\uDDD8-\\uDDDD\\uDE00-\\uDE3E\\uDE40\\uDE44\\uDE80-\\uDEB5\\uDF00-\\uDF19\\uDF1D-\\uDF2A]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC3E\\uDC40\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9E]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD47]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83C[\\uDD30-\\uDD49\\uDD50-\\uDD69\\uDD70-\\uDD89]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]\"\n }, {\n name: 'Any',\n isBmpLast: true,\n bmp: \"\\0-\\uFFFF\",\n astral: \"[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]\"\n }, {\n name: 'Default_Ignorable_Code_Point',\n bmp: \"\\xAD\\u034F\\u061C\\u115F\\u1160\\u17B4\\u17B5\\u180B-\\u180E\\u200B-\\u200F\\u202A-\\u202E\\u2060-\\u206F\\u3164\\uFE00-\\uFE0F\\uFEFF\\uFFA0\\uFFF0-\\uFFF8\",\n astral: \"\\uD82F[\\uDCA0-\\uDCA3]|\\uD834[\\uDD73-\\uDD7A]|[\\uDB40-\\uDB43][\\uDC00-\\uDFFF]\"\n }, {\n name: 'Lowercase',\n bmp: \"a-z\\xAA\\xB5\\xBA\\xDF-\\xF6\\xF8-\\xFF\\u0101\\u0103\\u0105\\u0107\\u0109\\u010B\\u010D\\u010F\\u0111\\u0113\\u0115\\u0117\\u0119\\u011B\\u011D\\u011F\\u0121\\u0123\\u0125\\u0127\\u0129\\u012B\\u012D\\u012F\\u0131\\u0133\\u0135\\u0137\\u0138\\u013A\\u013C\\u013E\\u0140\\u0142\\u0144\\u0146\\u0148\\u0149\\u014B\\u014D\\u014F\\u0151\\u0153\\u0155\\u0157\\u0159\\u015B\\u015D\\u015F\\u0161\\u0163\\u0165\\u0167\\u0169\\u016B\\u016D\\u016F\\u0171\\u0173\\u0175\\u0177\\u017A\\u017C\\u017E-\\u0180\\u0183\\u0185\\u0188\\u018C\\u018D\\u0192\\u0195\\u0199-\\u019B\\u019E\\u01A1\\u01A3\\u01A5\\u01A8\\u01AA\\u01AB\\u01AD\\u01B0\\u01B4\\u01B6\\u01B9\\u01BA\\u01BD-\\u01BF\\u01C6\\u01C9\\u01CC\\u01CE\\u01D0\\u01D2\\u01D4\\u01D6\\u01D8\\u01DA\\u01DC\\u01DD\\u01DF\\u01E1\\u01E3\\u01E5\\u01E7\\u01E9\\u01EB\\u01ED\\u01EF\\u01F0\\u01F3\\u01F5\\u01F9\\u01FB\\u01FD\\u01FF\\u0201\\u0203\\u0205\\u0207\\u0209\\u020B\\u020D\\u020F\\u0211\\u0213\\u0215\\u0217\\u0219\\u021B\\u021D\\u021F\\u0221\\u0223\\u0225\\u0227\\u0229\\u022B\\u022D\\u022F\\u0231\\u0233-\\u0239\\u023C\\u023F\\u0240\\u0242\\u0247\\u0249\\u024B\\u024D\\u024F-\\u0293\\u0295-\\u02B8\\u02C0\\u02C1\\u02E0-\\u02E4\\u0345\\u0371\\u0373\\u0377\\u037A-\\u037D\\u0390\\u03AC-\\u03CE\\u03D0\\u03D1\\u03D5-\\u03D7\\u03D9\\u03DB\\u03DD\\u03DF\\u03E1\\u03E3\\u03E5\\u03E7\\u03E9\\u03EB\\u03ED\\u03EF-\\u03F3\\u03F5\\u03F8\\u03FB\\u03FC\\u0430-\\u045F\\u0461\\u0463\\u0465\\u0467\\u0469\\u046B\\u046D\\u046F\\u0471\\u0473\\u0475\\u0477\\u0479\\u047B\\u047D\\u047F\\u0481\\u048B\\u048D\\u048F\\u0491\\u0493\\u0495\\u0497\\u0499\\u049B\\u049D\\u049F\\u04A1\\u04A3\\u04A5\\u04A7\\u04A9\\u04AB\\u04AD\\u04AF\\u04B1\\u04B3\\u04B5\\u04B7\\u04B9\\u04BB\\u04BD\\u04BF\\u04C2\\u04C4\\u04C6\\u04C8\\u04CA\\u04CC\\u04CE\\u04CF\\u04D1\\u04D3\\u04D5\\u04D7\\u04D9\\u04DB\\u04DD\\u04DF\\u04E1\\u04E3\\u04E5\\u04E7\\u04E9\\u04EB\\u04ED\\u04EF\\u04F1\\u04F3\\u04F5\\u04F7\\u04F9\\u04FB\\u04FD\\u04FF\\u0501\\u0503\\u0505\\u0507\\u0509\\u050B\\u050D\\u050F\\u0511\\u0513\\u0515\\u0517\\u0519\\u051B\\u051D\\u051F\\u0521\\u0523\\u0525\\u0527\\u0529\\u052B\\u052D\\u052F\\u0561-\\u0587\\u13F8-\\u13FD\\u1C80-\\u1C88\\u1D00-\\u1DBF\\u1E01\\u1E03\\u1E05\\u1E07\\u1E09\\u1E0B\\u1E0D\\u1E0F\\u1E11\\u1E13\\u1E15\\u1E17\\u1E19\\u1E1B\\u1E1D\\u1E1F\\u1E21\\u1E23\\u1E25\\u1E27\\u1E29\\u1E2B\\u1E2D\\u1E2F\\u1E31\\u1E33\\u1E35\\u1E37\\u1E39\\u1E3B\\u1E3D\\u1E3F\\u1E41\\u1E43\\u1E45\\u1E47\\u1E49\\u1E4B\\u1E4D\\u1E4F\\u1E51\\u1E53\\u1E55\\u1E57\\u1E59\\u1E5B\\u1E5D\\u1E5F\\u1E61\\u1E63\\u1E65\\u1E67\\u1E69\\u1E6B\\u1E6D\\u1E6F\\u1E71\\u1E73\\u1E75\\u1E77\\u1E79\\u1E7B\\u1E7D\\u1E7F\\u1E81\\u1E83\\u1E85\\u1E87\\u1E89\\u1E8B\\u1E8D\\u1E8F\\u1E91\\u1E93\\u1E95-\\u1E9D\\u1E9F\\u1EA1\\u1EA3\\u1EA5\\u1EA7\\u1EA9\\u1EAB\\u1EAD\\u1EAF\\u1EB1\\u1EB3\\u1EB5\\u1EB7\\u1EB9\\u1EBB\\u1EBD\\u1EBF\\u1EC1\\u1EC3\\u1EC5\\u1EC7\\u1EC9\\u1ECB\\u1ECD\\u1ECF\\u1ED1\\u1ED3\\u1ED5\\u1ED7\\u1ED9\\u1EDB\\u1EDD\\u1EDF\\u1EE1\\u1EE3\\u1EE5\\u1EE7\\u1EE9\\u1EEB\\u1EED\\u1EEF\\u1EF1\\u1EF3\\u1EF5\\u1EF7\\u1EF9\\u1EFB\\u1EFD\\u1EFF-\\u1F07\\u1F10-\\u1F15\\u1F20-\\u1F27\\u1F30-\\u1F37\\u1F40-\\u1F45\\u1F50-\\u1F57\\u1F60-\\u1F67\\u1F70-\\u1F7D\\u1F80-\\u1F87\\u1F90-\\u1F97\\u1FA0-\\u1FA7\\u1FB0-\\u1FB4\\u1FB6\\u1FB7\\u1FBE\\u1FC2-\\u1FC4\\u1FC6\\u1FC7\\u1FD0-\\u1FD3\\u1FD6\\u1FD7\\u1FE0-\\u1FE7\\u1FF2-\\u1FF4\\u1FF6\\u1FF7\\u2071\\u207F\\u2090-\\u209C\\u210A\\u210E\\u210F\\u2113\\u212F\\u2134\\u2139\\u213C\\u213D\\u2146-\\u2149\\u214E\\u2170-\\u217F\\u2184\\u24D0-\\u24E9\\u2C30-\\u2C5E\\u2C61\\u2C65\\u2C66\\u2C68\\u2C6A\\u2C6C\\u2C71\\u2C73\\u2C74\\u2C76-\\u2C7D\\u2C81\\u2C83\\u2C85\\u2C87\\u2C89\\u2C8B\\u2C8D\\u2C8F\\u2C91\\u2C93\\u2C95\\u2C97\\u2C99\\u2C9B\\u2C9D\\u2C9F\\u2CA1\\u2CA3\\u2CA5\\u2CA7\\u2CA9\\u2CAB\\u2CAD\\u2CAF\\u2CB1\\u2CB3\\u2CB5\\u2CB7\\u2CB9\\u2CBB\\u2CBD\\u2CBF\\u2CC1\\u2CC3\\u2CC5\\u2CC7\\u2CC9\\u2CCB\\u2CCD\\u2CCF\\u2CD1\\u2CD3\\u2CD5\\u2CD7\\u2CD9\\u2CDB\\u2CDD\\u2CDF\\u2CE1\\u2CE3\\u2CE4\\u2CEC\\u2CEE\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\uA641\\uA643\\uA645\\uA647\\uA649\\uA64B\\uA64D\\uA64F\\uA651\\uA653\\uA655\\uA657\\uA659\\uA65B\\uA65D\\uA65F\\uA661\\uA663\\uA665\\uA667\\uA669\\uA66B\\uA66D\\uA681\\uA683\\uA685\\uA687\\uA689\\uA68B\\uA68D\\uA68F\\uA691\\uA693\\uA695\\uA697\\uA699\\uA69B-\\uA69D\\uA723\\uA725\\uA727\\uA729\\uA72B\\uA72D\\uA72F-\\uA731\\uA733\\uA735\\uA737\\uA739\\uA73B\\uA73D\\uA73F\\uA741\\uA743\\uA745\\uA747\\uA749\\uA74B\\uA74D\\uA74F\\uA751\\uA753\\uA755\\uA757\\uA759\\uA75B\\uA75D\\uA75F\\uA761\\uA763\\uA765\\uA767\\uA769\\uA76B\\uA76D\\uA76F-\\uA778\\uA77A\\uA77C\\uA77F\\uA781\\uA783\\uA785\\uA787\\uA78C\\uA78E\\uA791\\uA793-\\uA795\\uA797\\uA799\\uA79B\\uA79D\\uA79F\\uA7A1\\uA7A3\\uA7A5\\uA7A7\\uA7A9\\uA7B5\\uA7B7\\uA7F8-\\uA7FA\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABBF\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF41-\\uFF5A\",\n astral: \"\\uD801[\\uDC28-\\uDC4F\\uDCD8-\\uDCFB]|\\uD803[\\uDCC0-\\uDCF2]|\\uD806[\\uDCC0-\\uDCDF]|\\uD835[\\uDC1A-\\uDC33\\uDC4E-\\uDC54\\uDC56-\\uDC67\\uDC82-\\uDC9B\\uDCB6-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDCEA-\\uDD03\\uDD1E-\\uDD37\\uDD52-\\uDD6B\\uDD86-\\uDD9F\\uDDBA-\\uDDD3\\uDDEE-\\uDE07\\uDE22-\\uDE3B\\uDE56-\\uDE6F\\uDE8A-\\uDEA5\\uDEC2-\\uDEDA\\uDEDC-\\uDEE1\\uDEFC-\\uDF14\\uDF16-\\uDF1B\\uDF36-\\uDF4E\\uDF50-\\uDF55\\uDF70-\\uDF88\\uDF8A-\\uDF8F\\uDFAA-\\uDFC2\\uDFC4-\\uDFC9\\uDFCB]|\\uD83A[\\uDD22-\\uDD43]\"\n }, {\n name: 'Noncharacter_Code_Point',\n bmp: \"\\uFDD0-\\uFDEF\\uFFFE\\uFFFF\",\n astral: \"[\\uD83F\\uD87F\\uD8BF\\uD8FF\\uD93F\\uD97F\\uD9BF\\uD9FF\\uDA3F\\uDA7F\\uDABF\\uDAFF\\uDB3F\\uDB7F\\uDBBF\\uDBFF][\\uDFFE\\uDFFF]\"\n }, {\n name: 'Uppercase',\n bmp: \"A-Z\\xC0-\\xD6\\xD8-\\xDE\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193\\u0194\\u0196-\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C7\\u01CA\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F1\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E\\u038F\\u0391-\\u03A1\\u03A3-\\u03AB\\u03CF\\u03D2-\\u03D4\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F4\\u03F7\\u03F9\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u10A0-\\u10C5\\u10C7\\u10CD\\u13A0-\\u13F5\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1FB8-\\u1FBB\\u1FC8-\\u1FCB\\u1FD8-\\u1FDB\\u1FE8-\\u1FEC\\u1FF8-\\u1FFB\\u2102\\u2107\\u210B-\\u210D\\u2110-\\u2112\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u2130-\\u2133\\u213E\\u213F\\u2145\\u2160-\\u216F\\u2183\\u24B6-\\u24CF\\u2C00-\\u2C2E\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AE\\uA7B0-\\uA7B4\\uA7B6\\uFF21-\\uFF3A\",\n astral: \"\\uD801[\\uDC00-\\uDC27\\uDCB0-\\uDCD3]|\\uD803[\\uDC80-\\uDCB2]|\\uD806[\\uDCA0-\\uDCBF]|\\uD835[\\uDC00-\\uDC19\\uDC34-\\uDC4D\\uDC68-\\uDC81\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB5\\uDCD0-\\uDCE9\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD38\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD6C-\\uDD85\\uDDA0-\\uDDB9\\uDDD4-\\uDDED\\uDE08-\\uDE21\\uDE3C-\\uDE55\\uDE70-\\uDE89\\uDEA8-\\uDEC0\\uDEE2-\\uDEFA\\uDF1C-\\uDF34\\uDF56-\\uDF6E\\uDF90-\\uDFA8\\uDFCA]|\\uD83A[\\uDD00-\\uDD21]|\\uD83C[\\uDD30-\\uDD49\\uDD50-\\uDD69\\uDD70-\\uDD89]\"\n }, {\n name: 'White_Space',\n bmp: \"\\t-\\r \\x85\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\"\n }]; // Add non-generated data\n\n unicodeData.push({\n name: 'Assigned',\n // Since this is defined as the inverse of Unicode category Cn (Unassigned), the Unicode\n // Categories addon is required to use this property\n inverseOf: 'Cn'\n });\n XRegExp.addUnicodeData(unicodeData);\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/*!\n * XRegExp Unicode Scripts 4.0.0\n * \n * Steven Levithan (c) 2010-2017 MIT License\n * Unicode data by Mathias Bynens \n */\n\nexports.default = function (XRegExp) {\n /**\n * Adds support for all Unicode scripts. E.g., `\\p{Latin}`. Token names are case insensitive,\n * and any spaces, hyphens, and underscores are ignored.\n *\n * Uses Unicode 9.0.0.\n *\n * @requires XRegExp, Unicode Base\n */\n if (!XRegExp.addUnicodeData) {\n throw new ReferenceError('Unicode Base must be loaded before Unicode Scripts');\n }\n\n XRegExp.addUnicodeData([{\n name: 'Adlam',\n astral: \"\\uD83A[\\uDD00-\\uDD4A\\uDD50-\\uDD59\\uDD5E\\uDD5F]\"\n }, {\n name: 'Ahom',\n astral: \"\\uD805[\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF3F]\"\n }, {\n name: 'Anatolian_Hieroglyphs',\n astral: \"\\uD811[\\uDC00-\\uDE46]\"\n }, {\n name: 'Arabic',\n bmp: \"\\u0600-\\u0604\\u0606-\\u060B\\u060D-\\u061A\\u061E\\u0620-\\u063F\\u0641-\\u064A\\u0656-\\u066F\\u0671-\\u06DC\\u06DE-\\u06FF\\u0750-\\u077F\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u08FF\\uFB50-\\uFBC1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFD\\uFE70-\\uFE74\\uFE76-\\uFEFC\",\n astral: \"\\uD803[\\uDE60-\\uDE7E]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB\\uDEF0\\uDEF1]\"\n }, {\n name: 'Armenian',\n bmp: \"\\u0531-\\u0556\\u0559-\\u055F\\u0561-\\u0587\\u058A\\u058D-\\u058F\\uFB13-\\uFB17\"\n }, {\n name: 'Avestan',\n astral: \"\\uD802[\\uDF00-\\uDF35\\uDF39-\\uDF3F]\"\n }, {\n name: 'Balinese',\n bmp: \"\\u1B00-\\u1B4B\\u1B50-\\u1B7C\"\n }, {\n name: 'Bamum',\n bmp: \"\\uA6A0-\\uA6F7\",\n astral: \"\\uD81A[\\uDC00-\\uDE38]\"\n }, {\n name: 'Bassa_Vah',\n astral: \"\\uD81A[\\uDED0-\\uDEED\\uDEF0-\\uDEF5]\"\n }, {\n name: 'Batak',\n bmp: \"\\u1BC0-\\u1BF3\\u1BFC-\\u1BFF\"\n }, {\n name: 'Bengali',\n bmp: \"\\u0980-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09FB\"\n }, {\n name: 'Bhaiksuki',\n astral: \"\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC45\\uDC50-\\uDC6C]\"\n }, {\n name: 'Bopomofo',\n bmp: \"\\u02EA\\u02EB\\u3105-\\u312D\\u31A0-\\u31BA\"\n }, {\n name: 'Brahmi',\n astral: \"\\uD804[\\uDC00-\\uDC4D\\uDC52-\\uDC6F\\uDC7F]\"\n }, {\n name: 'Braille',\n bmp: \"\\u2800-\\u28FF\"\n }, {\n name: 'Buginese',\n bmp: \"\\u1A00-\\u1A1B\\u1A1E\\u1A1F\"\n }, {\n name: 'Buhid',\n bmp: \"\\u1740-\\u1753\"\n }, {\n name: 'Canadian_Aboriginal',\n bmp: \"\\u1400-\\u167F\\u18B0-\\u18F5\"\n }, {\n name: 'Carian',\n astral: \"\\uD800[\\uDEA0-\\uDED0]\"\n }, {\n name: 'Caucasian_Albanian',\n astral: \"\\uD801[\\uDD30-\\uDD63\\uDD6F]\"\n }, {\n name: 'Chakma',\n astral: \"\\uD804[\\uDD00-\\uDD34\\uDD36-\\uDD43]\"\n }, {\n name: 'Cham',\n bmp: \"\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA5C-\\uAA5F\"\n }, {\n name: 'Cherokee',\n bmp: \"\\u13A0-\\u13F5\\u13F8-\\u13FD\\uAB70-\\uABBF\"\n }, {\n name: 'Common',\n bmp: \"\\0-@\\\\x5B-`\\\\x7B-\\xA9\\xAB-\\xB9\\xBB-\\xBF\\xD7\\xF7\\u02B9-\\u02DF\\u02E5-\\u02E9\\u02EC-\\u02FF\\u0374\\u037E\\u0385\\u0387\\u0589\\u0605\\u060C\\u061B\\u061C\\u061F\\u0640\\u06DD\\u08E2\\u0964\\u0965\\u0E3F\\u0FD5-\\u0FD8\\u10FB\\u16EB-\\u16ED\\u1735\\u1736\\u1802\\u1803\\u1805\\u1CD3\\u1CE1\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u2000-\\u200B\\u200E-\\u2064\\u2066-\\u2070\\u2074-\\u207E\\u2080-\\u208E\\u20A0-\\u20BE\\u2100-\\u2125\\u2127-\\u2129\\u212C-\\u2131\\u2133-\\u214D\\u214F-\\u215F\\u2189-\\u218B\\u2190-\\u23FE\\u2400-\\u2426\\u2440-\\u244A\\u2460-\\u27FF\\u2900-\\u2B73\\u2B76-\\u2B95\\u2B98-\\u2BB9\\u2BBD-\\u2BC8\\u2BCA-\\u2BD1\\u2BEC-\\u2BEF\\u2E00-\\u2E44\\u2FF0-\\u2FFB\\u3000-\\u3004\\u3006\\u3008-\\u3020\\u3030-\\u3037\\u303C-\\u303F\\u309B\\u309C\\u30A0\\u30FB\\u30FC\\u3190-\\u319F\\u31C0-\\u31E3\\u3220-\\u325F\\u327F-\\u32CF\\u3358-\\u33FF\\u4DC0-\\u4DFF\\uA700-\\uA721\\uA788-\\uA78A\\uA830-\\uA839\\uA92E\\uA9CF\\uAB5B\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE66\\uFE68-\\uFE6B\\uFEFF\\uFF01-\\uFF20\\uFF3B-\\uFF40\\uFF5B-\\uFF65\\uFF70\\uFF9E\\uFF9F\\uFFE0-\\uFFE6\\uFFE8-\\uFFEE\\uFFF9-\\uFFFD\",\n astral: \"\\uD800[\\uDD00-\\uDD02\\uDD07-\\uDD33\\uDD37-\\uDD3F\\uDD90-\\uDD9B\\uDDD0-\\uDDFC\\uDEE1-\\uDEFB]|\\uD82F[\\uDCA0-\\uDCA3]|\\uD834[\\uDC00-\\uDCF5\\uDD00-\\uDD26\\uDD29-\\uDD66\\uDD6A-\\uDD7A\\uDD83\\uDD84\\uDD8C-\\uDDA9\\uDDAE-\\uDDE8\\uDF00-\\uDF56\\uDF60-\\uDF71]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDFCB\\uDFCE-\\uDFFF]|\\uD83C[\\uDC00-\\uDC2B\\uDC30-\\uDC93\\uDCA0-\\uDCAE\\uDCB1-\\uDCBF\\uDCC1-\\uDCCF\\uDCD1-\\uDCF5\\uDD00-\\uDD0C\\uDD10-\\uDD2E\\uDD30-\\uDD6B\\uDD70-\\uDDAC\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE10-\\uDE3B\\uDE40-\\uDE48\\uDE50\\uDE51\\uDF00-\\uDFFF]|\\uD83D[\\uDC00-\\uDED2\\uDEE0-\\uDEEC\\uDEF0-\\uDEF6\\uDF00-\\uDF73\\uDF80-\\uDFD4]|\\uD83E[\\uDC00-\\uDC0B\\uDC10-\\uDC47\\uDC50-\\uDC59\\uDC60-\\uDC87\\uDC90-\\uDCAD\\uDD10-\\uDD1E\\uDD20-\\uDD27\\uDD30\\uDD33-\\uDD3E\\uDD40-\\uDD4B\\uDD50-\\uDD5E\\uDD80-\\uDD91\\uDDC0]|\\uDB40[\\uDC01\\uDC20-\\uDC7F]\"\n }, {\n name: 'Coptic',\n bmp: \"\\u03E2-\\u03EF\\u2C80-\\u2CF3\\u2CF9-\\u2CFF\"\n }, {\n name: 'Cuneiform',\n astral: \"\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC70-\\uDC74\\uDC80-\\uDD43]\"\n }, {\n name: 'Cypriot',\n astral: \"\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F]\"\n }, {\n name: 'Cyrillic',\n bmp: \"\\u0400-\\u0484\\u0487-\\u052F\\u1C80-\\u1C88\\u1D2B\\u1D78\\u2DE0-\\u2DFF\\uA640-\\uA69F\\uFE2E\\uFE2F\"\n }, {\n name: 'Deseret',\n astral: \"\\uD801[\\uDC00-\\uDC4F]\"\n }, {\n name: 'Devanagari',\n bmp: \"\\u0900-\\u0950\\u0953-\\u0963\\u0966-\\u097F\\uA8E0-\\uA8FD\"\n }, {\n name: 'Duployan',\n astral: \"\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9C-\\uDC9F]\"\n }, {\n name: 'Egyptian_Hieroglyphs',\n astral: \"\\uD80C[\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]\"\n }, {\n name: 'Elbasan',\n astral: \"\\uD801[\\uDD00-\\uDD27]\"\n }, {\n name: 'Ethiopic',\n bmp: \"\\u1200-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u137C\\u1380-\\u1399\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\"\n }, {\n name: 'Georgian',\n bmp: \"\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u10FF\\u2D00-\\u2D25\\u2D27\\u2D2D\"\n }, {\n name: 'Glagolitic',\n bmp: \"\\u2C00-\\u2C2E\\u2C30-\\u2C5E\",\n astral: \"\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]\"\n }, {\n name: 'Gothic',\n astral: \"\\uD800[\\uDF30-\\uDF4A]\"\n }, {\n name: 'Grantha',\n astral: \"\\uD804[\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]\"\n }, {\n name: 'Greek',\n bmp: \"\\u0370-\\u0373\\u0375-\\u0377\\u037A-\\u037D\\u037F\\u0384\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03E1\\u03F0-\\u03FF\\u1D26-\\u1D2A\\u1D5D-\\u1D61\\u1D66-\\u1D6A\\u1DBF\\u1F00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FC4\\u1FC6-\\u1FD3\\u1FD6-\\u1FDB\\u1FDD-\\u1FEF\\u1FF2-\\u1FF4\\u1FF6-\\u1FFE\\u2126\\uAB65\",\n astral: \"\\uD800[\\uDD40-\\uDD8E\\uDDA0]|\\uD834[\\uDE00-\\uDE45]\"\n }, {\n name: 'Gujarati',\n bmp: \"\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AF1\\u0AF9\"\n }, {\n name: 'Gurmukhi',\n bmp: \"\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\"\n }, {\n name: 'Han',\n bmp: \"\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u3005\\u3007\\u3021-\\u3029\\u3038-\\u303B\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uF900-\\uFA6D\\uFA70-\\uFAD9\",\n astral: \"[\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]\"\n }, {\n name: 'Hangul',\n bmp: \"\\u1100-\\u11FF\\u302E\\u302F\\u3131-\\u318E\\u3200-\\u321E\\u3260-\\u327E\\uA960-\\uA97C\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uFFA0-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\"\n }, {\n name: 'Hanunoo',\n bmp: \"\\u1720-\\u1734\"\n }, {\n name: 'Hatran',\n astral: \"\\uD802[\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDCFB-\\uDCFF]\"\n }, {\n name: 'Hebrew',\n bmp: \"\\u0591-\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F4\\uFB1D-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFB4F\"\n }, {\n name: 'Hiragana',\n bmp: \"\\u3041-\\u3096\\u309D-\\u309F\",\n astral: \"\\uD82C\\uDC01|\\uD83C\\uDE00\"\n }, {\n name: 'Imperial_Aramaic',\n astral: \"\\uD802[\\uDC40-\\uDC55\\uDC57-\\uDC5F]\"\n }, {\n name: 'Inherited',\n bmp: \"\\u0300-\\u036F\\u0485\\u0486\\u064B-\\u0655\\u0670\\u0951\\u0952\\u1AB0-\\u1ABE\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFB-\\u1DFF\\u200C\\u200D\\u20D0-\\u20F0\\u302A-\\u302D\\u3099\\u309A\\uFE00-\\uFE0F\\uFE20-\\uFE2D\",\n astral: \"\\uD800[\\uDDFD\\uDEE0]|\\uD834[\\uDD67-\\uDD69\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD]|\\uDB40[\\uDD00-\\uDDEF]\"\n }, {\n name: 'Inscriptional_Pahlavi',\n astral: \"\\uD802[\\uDF60-\\uDF72\\uDF78-\\uDF7F]\"\n }, {\n name: 'Inscriptional_Parthian',\n astral: \"\\uD802[\\uDF40-\\uDF55\\uDF58-\\uDF5F]\"\n }, {\n name: 'Javanese',\n bmp: \"\\uA980-\\uA9CD\\uA9D0-\\uA9D9\\uA9DE\\uA9DF\"\n }, {\n name: 'Kaithi',\n astral: \"\\uD804[\\uDC80-\\uDCC1]\"\n }, {\n name: 'Kannada',\n bmp: \"\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\"\n }, {\n name: 'Katakana',\n bmp: \"\\u30A1-\\u30FA\\u30FD-\\u30FF\\u31F0-\\u31FF\\u32D0-\\u32FE\\u3300-\\u3357\\uFF66-\\uFF6F\\uFF71-\\uFF9D\",\n astral: \"\\uD82C\\uDC00\"\n }, {\n name: 'Kayah_Li',\n bmp: \"\\uA900-\\uA92D\\uA92F\"\n }, {\n name: 'Kharoshthi',\n astral: \"\\uD802[\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F-\\uDE47\\uDE50-\\uDE58]\"\n }, {\n name: 'Khmer',\n bmp: \"\\u1780-\\u17DD\\u17E0-\\u17E9\\u17F0-\\u17F9\\u19E0-\\u19FF\"\n }, {\n name: 'Khojki',\n astral: \"\\uD804[\\uDE00-\\uDE11\\uDE13-\\uDE3E]\"\n }, {\n name: 'Khudawadi',\n astral: \"\\uD804[\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9]\"\n }, {\n name: 'Lao',\n bmp: \"\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\"\n }, {\n name: 'Latin',\n bmp: \"A-Za-z\\xAA\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02B8\\u02E0-\\u02E4\\u1D00-\\u1D25\\u1D2C-\\u1D5C\\u1D62-\\u1D65\\u1D6B-\\u1D77\\u1D79-\\u1DBE\\u1E00-\\u1EFF\\u2071\\u207F\\u2090-\\u209C\\u212A\\u212B\\u2132\\u214E\\u2160-\\u2188\\u2C60-\\u2C7F\\uA722-\\uA787\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA7FF\\uAB30-\\uAB5A\\uAB5C-\\uAB64\\uFB00-\\uFB06\\uFF21-\\uFF3A\\uFF41-\\uFF5A\"\n }, {\n name: 'Lepcha',\n bmp: \"\\u1C00-\\u1C37\\u1C3B-\\u1C49\\u1C4D-\\u1C4F\"\n }, {\n name: 'Limbu',\n bmp: \"\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1940\\u1944-\\u194F\"\n }, {\n name: 'Linear_A',\n astral: \"\\uD801[\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]\"\n }, {\n name: 'Linear_B',\n astral: \"\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA]\"\n }, {\n name: 'Lisu',\n bmp: \"\\uA4D0-\\uA4FF\"\n }, {\n name: 'Lycian',\n astral: \"\\uD800[\\uDE80-\\uDE9C]\"\n }, {\n name: 'Lydian',\n astral: \"\\uD802[\\uDD20-\\uDD39\\uDD3F]\"\n }, {\n name: 'Mahajani',\n astral: \"\\uD804[\\uDD50-\\uDD76]\"\n }, {\n name: 'Malayalam',\n bmp: \"\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4F\\u0D54-\\u0D63\\u0D66-\\u0D7F\"\n }, {\n name: 'Mandaic',\n bmp: \"\\u0840-\\u085B\\u085E\"\n }, {\n name: 'Manichaean',\n astral: \"\\uD802[\\uDEC0-\\uDEE6\\uDEEB-\\uDEF6]\"\n }, {\n name: 'Marchen',\n astral: \"\\uD807[\\uDC70-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]\"\n }, {\n name: 'Meetei_Mayek',\n bmp: \"\\uAAE0-\\uAAF6\\uABC0-\\uABED\\uABF0-\\uABF9\"\n }, {\n name: 'Mende_Kikakui',\n astral: \"\\uD83A[\\uDC00-\\uDCC4\\uDCC7-\\uDCD6]\"\n }, {\n name: 'Meroitic_Cursive',\n astral: \"\\uD802[\\uDDA0-\\uDDB7\\uDDBC-\\uDDCF\\uDDD2-\\uDDFF]\"\n }, {\n name: 'Meroitic_Hieroglyphs',\n astral: \"\\uD802[\\uDD80-\\uDD9F]\"\n }, {\n name: 'Miao',\n astral: \"\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F]\"\n }, {\n name: 'Modi',\n astral: \"\\uD805[\\uDE00-\\uDE44\\uDE50-\\uDE59]\"\n }, {\n name: 'Mongolian',\n bmp: \"\\u1800\\u1801\\u1804\\u1806-\\u180E\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\",\n astral: \"\\uD805[\\uDE60-\\uDE6C]\"\n }, {\n name: 'Mro',\n astral: \"\\uD81A[\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDE6E\\uDE6F]\"\n }, {\n name: 'Multani',\n astral: \"\\uD804[\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA9]\"\n }, {\n name: 'Myanmar',\n bmp: \"\\u1000-\\u109F\\uA9E0-\\uA9FE\\uAA60-\\uAA7F\"\n }, {\n name: 'Nabataean',\n astral: \"\\uD802[\\uDC80-\\uDC9E\\uDCA7-\\uDCAF]\"\n }, {\n name: 'New_Tai_Lue',\n bmp: \"\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u19DE\\u19DF\"\n }, {\n name: 'Newa',\n astral: \"\\uD805[\\uDC00-\\uDC59\\uDC5B\\uDC5D]\"\n }, {\n name: 'Nko',\n bmp: \"\\u07C0-\\u07FA\"\n }, {\n name: 'Ogham',\n bmp: \"\\u1680-\\u169C\"\n }, {\n name: 'Ol_Chiki',\n bmp: \"\\u1C50-\\u1C7F\"\n }, {\n name: 'Old_Hungarian',\n astral: \"\\uD803[\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDCFA-\\uDCFF]\"\n }, {\n name: 'Old_Italic',\n astral: \"\\uD800[\\uDF00-\\uDF23]\"\n }, {\n name: 'Old_North_Arabian',\n astral: \"\\uD802[\\uDE80-\\uDE9F]\"\n }, {\n name: 'Old_Permic',\n astral: \"\\uD800[\\uDF50-\\uDF7A]\"\n }, {\n name: 'Old_Persian',\n astral: \"\\uD800[\\uDFA0-\\uDFC3\\uDFC8-\\uDFD5]\"\n }, {\n name: 'Old_South_Arabian',\n astral: \"\\uD802[\\uDE60-\\uDE7F]\"\n }, {\n name: 'Old_Turkic',\n astral: \"\\uD803[\\uDC00-\\uDC48]\"\n }, {\n name: 'Oriya',\n bmp: \"\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B77\"\n }, {\n name: 'Osage',\n astral: \"\\uD801[\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB]\"\n }, {\n name: 'Osmanya',\n astral: \"\\uD801[\\uDC80-\\uDC9D\\uDCA0-\\uDCA9]\"\n }, {\n name: 'Pahawh_Hmong',\n astral: \"\\uD81A[\\uDF00-\\uDF45\\uDF50-\\uDF59\\uDF5B-\\uDF61\\uDF63-\\uDF77\\uDF7D-\\uDF8F]\"\n }, {\n name: 'Palmyrene',\n astral: \"\\uD802[\\uDC60-\\uDC7F]\"\n }, {\n name: 'Pau_Cin_Hau',\n astral: \"\\uD806[\\uDEC0-\\uDEF8]\"\n }, {\n name: 'Phags_Pa',\n bmp: \"\\uA840-\\uA877\"\n }, {\n name: 'Phoenician',\n astral: \"\\uD802[\\uDD00-\\uDD1B\\uDD1F]\"\n }, {\n name: 'Psalter_Pahlavi',\n astral: \"\\uD802[\\uDF80-\\uDF91\\uDF99-\\uDF9C\\uDFA9-\\uDFAF]\"\n }, {\n name: 'Rejang',\n bmp: \"\\uA930-\\uA953\\uA95F\"\n }, {\n name: 'Runic',\n bmp: \"\\u16A0-\\u16EA\\u16EE-\\u16F8\"\n }, {\n name: 'Samaritan',\n bmp: \"\\u0800-\\u082D\\u0830-\\u083E\"\n }, {\n name: 'Saurashtra',\n bmp: \"\\uA880-\\uA8C5\\uA8CE-\\uA8D9\"\n }, {\n name: 'Sharada',\n astral: \"\\uD804[\\uDD80-\\uDDCD\\uDDD0-\\uDDDF]\"\n }, {\n name: 'Shavian',\n astral: \"\\uD801[\\uDC50-\\uDC7F]\"\n }, {\n name: 'Siddham',\n astral: \"\\uD805[\\uDD80-\\uDDB5\\uDDB8-\\uDDDD]\"\n }, {\n name: 'SignWriting',\n astral: \"\\uD836[\\uDC00-\\uDE8B\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]\"\n }, {\n name: 'Sinhala',\n bmp: \"\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2-\\u0DF4\",\n astral: \"\\uD804[\\uDDE1-\\uDDF4]\"\n }, {\n name: 'Sora_Sompeng',\n astral: \"\\uD804[\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9]\"\n }, {\n name: 'Sundanese',\n bmp: \"\\u1B80-\\u1BBF\\u1CC0-\\u1CC7\"\n }, {\n name: 'Syloti_Nagri',\n bmp: \"\\uA800-\\uA82B\"\n }, {\n name: 'Syriac',\n bmp: \"\\u0700-\\u070D\\u070F-\\u074A\\u074D-\\u074F\"\n }, {\n name: 'Tagalog',\n bmp: \"\\u1700-\\u170C\\u170E-\\u1714\"\n }, {\n name: 'Tagbanwa',\n bmp: \"\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\"\n }, {\n name: 'Tai_Le',\n bmp: \"\\u1950-\\u196D\\u1970-\\u1974\"\n }, {\n name: 'Tai_Tham',\n bmp: \"\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA0-\\u1AAD\"\n }, {\n name: 'Tai_Viet',\n bmp: \"\\uAA80-\\uAAC2\\uAADB-\\uAADF\"\n }, {\n name: 'Takri',\n astral: \"\\uD805[\\uDE80-\\uDEB7\\uDEC0-\\uDEC9]\"\n }, {\n name: 'Tamil',\n bmp: \"\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BFA\"\n }, {\n name: 'Tangut',\n astral: \"\\uD81B\\uDFE0|[\\uD81C-\\uD820][\\uDC00-\\uDFFF]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]\"\n }, {\n name: 'Telugu',\n bmp: \"\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C78-\\u0C7F\"\n }, {\n name: 'Thaana',\n bmp: \"\\u0780-\\u07B1\"\n }, {\n name: 'Thai',\n bmp: \"\\u0E01-\\u0E3A\\u0E40-\\u0E5B\"\n }, {\n name: 'Tibetan',\n bmp: \"\\u0F00-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F97\\u0F99-\\u0FBC\\u0FBE-\\u0FCC\\u0FCE-\\u0FD4\\u0FD9\\u0FDA\"\n }, {\n name: 'Tifinagh',\n bmp: \"\\u2D30-\\u2D67\\u2D6F\\u2D70\\u2D7F\"\n }, {\n name: 'Tirhuta',\n astral: \"\\uD805[\\uDC80-\\uDCC7\\uDCD0-\\uDCD9]\"\n }, {\n name: 'Ugaritic',\n astral: \"\\uD800[\\uDF80-\\uDF9D\\uDF9F]\"\n }, {\n name: 'Vai',\n bmp: \"\\uA500-\\uA62B\"\n }, {\n name: 'Warang_Citi',\n astral: \"\\uD806[\\uDCA0-\\uDCF2\\uDCFF]\"\n }, {\n name: 'Yi',\n bmp: \"\\uA000-\\uA48C\\uA490-\\uA4C6\"\n }]);\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _xregexp = require('./xregexp');\n\nvar _xregexp2 = _interopRequireDefault(_xregexp);\n\nvar _build = require('./addons/build');\n\nvar _build2 = _interopRequireDefault(_build);\n\nvar _matchrecursive = require('./addons/matchrecursive');\n\nvar _matchrecursive2 = _interopRequireDefault(_matchrecursive);\n\nvar _unicodeBase = require('./addons/unicode-base');\n\nvar _unicodeBase2 = _interopRequireDefault(_unicodeBase);\n\nvar _unicodeBlocks = require('./addons/unicode-blocks');\n\nvar _unicodeBlocks2 = _interopRequireDefault(_unicodeBlocks);\n\nvar _unicodeCategories = require('./addons/unicode-categories');\n\nvar _unicodeCategories2 = _interopRequireDefault(_unicodeCategories);\n\nvar _unicodeProperties = require('./addons/unicode-properties');\n\nvar _unicodeProperties2 = _interopRequireDefault(_unicodeProperties);\n\nvar _unicodeScripts = require('./addons/unicode-scripts');\n\nvar _unicodeScripts2 = _interopRequireDefault(_unicodeScripts);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\n(0, _build2.default)(_xregexp2.default);\n(0, _matchrecursive2.default)(_xregexp2.default);\n(0, _unicodeBase2.default)(_xregexp2.default);\n(0, _unicodeBlocks2.default)(_xregexp2.default);\n(0, _unicodeCategories2.default)(_xregexp2.default);\n(0, _unicodeProperties2.default)(_xregexp2.default);\n(0, _unicodeScripts2.default)(_xregexp2.default);\nexports.default = _xregexp2.default;\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/*!\n * XRegExp 4.0.0\n * \n * Steven Levithan (c) 2007-2017 MIT License\n */\n\n/**\n * XRegExp provides augmented, extensible regular expressions. You get additional regex syntax and\n * flags, beyond what browsers support natively. XRegExp is also a regex utility belt with tools to\n * make your client-side grepping simpler and more powerful, while freeing you from related\n * cross-browser inconsistencies.\n */\n// ==--------------------------==\n// Private stuff\n// ==--------------------------==\n// Property name used for extended regex instance data\n\nvar REGEX_DATA = 'xregexp'; // Optional features that can be installed and uninstalled\n\nvar features = {\n astral: false\n}; // Native methods to use and restore ('native' is an ES3 reserved keyword)\n\nvar nativ = {\n exec: RegExp.prototype.exec,\n test: RegExp.prototype.test,\n match: String.prototype.match,\n replace: String.prototype.replace,\n split: String.prototype.split\n}; // Storage for fixed/extended native methods\n\nvar fixed = {}; // Storage for regexes cached by `XRegExp.cache`\n\nvar regexCache = {}; // Storage for pattern details cached by the `XRegExp` constructor\n\nvar patternCache = {}; // Storage for regex syntax tokens added internally or by `XRegExp.addToken`\n\nvar tokens = []; // Token scopes\n\nvar defaultScope = 'default';\nvar classScope = 'class'; // Regexes that match native regex syntax, including octals\n\nvar nativeTokens = {\n // Any native multicharacter token in default scope, or any single character\n 'default': /\\\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\\d*|x[\\dA-Fa-f]{2}|u(?:[\\dA-Fa-f]{4}|{[\\dA-Fa-f]+})|c[A-Za-z]|[\\s\\S])|\\(\\?(?:[:=!]|<[=!])|[?*+]\\?|{\\d+(?:,\\d*)?}\\??|[\\s\\S]/,\n // Any native multicharacter token in character class scope, or any single character\n 'class': /\\\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\\dA-Fa-f]{2}|u(?:[\\dA-Fa-f]{4}|{[\\dA-Fa-f]+})|c[A-Za-z]|[\\s\\S])|[\\s\\S]/\n}; // Any backreference or dollar-prefixed character in replacement strings\n\nvar replacementToken = /\\$(?:{([\\w$]+)}|<([\\w$]+)>|(\\d\\d?|[\\s\\S]))/g; // Check for correct `exec` handling of nonparticipating capturing groups\n\nvar correctExecNpcg = nativ.exec.call(/()??/, '')[1] === undefined; // Check for ES6 `flags` prop support\n\nvar hasFlagsProp = /x/.flags !== undefined; // Shortcut to `Object.prototype.toString`\n\nvar toString = {}.toString;\n\nfunction hasNativeFlag(flag) {\n // Can't check based on the presence of properties/getters since browsers might support such\n // properties even when they don't support the corresponding flag in regex construction (tested\n // in Chrome 48, where `'unicode' in /x/` is true but trying to construct a regex with flag `u`\n // throws an error)\n var isSupported = true;\n\n try {\n // Can't use regex literals for testing even in a `try` because regex literals with\n // unsupported flags cause a compilation error in IE\n new RegExp('', flag);\n } catch (exception) {\n isSupported = false;\n }\n\n return isSupported;\n} // Check for ES6 `u` flag support\n\n\nvar hasNativeU = hasNativeFlag('u'); // Check for ES6 `y` flag support\n\nvar hasNativeY = hasNativeFlag('y'); // Tracker for known flags, including addon flags\n\nvar registeredFlags = {\n g: true,\n i: true,\n m: true,\n u: hasNativeU,\n y: hasNativeY\n};\n/**\n * Attaches extended data and `XRegExp.prototype` properties to a regex object.\n *\n * @private\n * @param {RegExp} regex Regex to augment.\n * @param {Array} captureNames Array with capture names, or `null`.\n * @param {String} xSource XRegExp pattern used to generate `regex`, or `null` if N/A.\n * @param {String} xFlags XRegExp flags used to generate `regex`, or `null` if N/A.\n * @param {Boolean} [isInternalOnly=false] Whether the regex will be used only for internal\n * operations, and never exposed to users. For internal-only regexes, we can improve perf by\n * skipping some operations like attaching `XRegExp.prototype` properties.\n * @returns {RegExp} Augmented regex.\n */\n\nfunction augment(regex, captureNames, xSource, xFlags, isInternalOnly) {\n var p = void 0;\n regex[REGEX_DATA] = {\n captureNames: captureNames\n };\n\n if (isInternalOnly) {\n return regex;\n } // Can't auto-inherit these since the XRegExp constructor returns a nonprimitive value\n\n\n if (regex.__proto__) {\n regex.__proto__ = XRegExp.prototype;\n } else {\n for (p in XRegExp.prototype) {\n // An `XRegExp.prototype.hasOwnProperty(p)` check wouldn't be worth it here, since this\n // is performance sensitive, and enumerable `Object.prototype` or `RegExp.prototype`\n // extensions exist on `regex.prototype` anyway\n regex[p] = XRegExp.prototype[p];\n }\n }\n\n regex[REGEX_DATA].source = xSource; // Emulate the ES6 `flags` prop by ensuring flags are in alphabetical order\n\n regex[REGEX_DATA].flags = xFlags ? xFlags.split('').sort().join('') : xFlags;\n return regex;\n}\n/**\n * Removes any duplicate characters from the provided string.\n *\n * @private\n * @param {String} str String to remove duplicate characters from.\n * @returns {String} String with any duplicate characters removed.\n */\n\n\nfunction clipDuplicates(str) {\n return nativ.replace.call(str, /([\\s\\S])(?=[\\s\\S]*\\1)/g, '');\n}\n/**\n * Copies a regex object while preserving extended data and augmenting with `XRegExp.prototype`\n * properties. The copy has a fresh `lastIndex` property (set to zero). Allows adding and removing\n * flags g and y while copying the regex.\n *\n * @private\n * @param {RegExp} regex Regex to copy.\n * @param {Object} [options] Options object with optional properties:\n * - `addG` {Boolean} Add flag g while copying the regex.\n * - `addY` {Boolean} Add flag y while copying the regex.\n * - `removeG` {Boolean} Remove flag g while copying the regex.\n * - `removeY` {Boolean} Remove flag y while copying the regex.\n * - `isInternalOnly` {Boolean} Whether the copied regex will be used only for internal\n * operations, and never exposed to users. For internal-only regexes, we can improve perf by\n * skipping some operations like attaching `XRegExp.prototype` properties.\n * - `source` {String} Overrides `.source`, for special cases.\n * @returns {RegExp} Copy of the provided regex, possibly with modified flags.\n */\n\n\nfunction copyRegex(regex, options) {\n if (!XRegExp.isRegExp(regex)) {\n throw new TypeError('Type RegExp expected');\n }\n\n var xData = regex[REGEX_DATA] || {};\n var flags = getNativeFlags(regex);\n var flagsToAdd = '';\n var flagsToRemove = '';\n var xregexpSource = null;\n var xregexpFlags = null;\n options = options || {};\n\n if (options.removeG) {\n flagsToRemove += 'g';\n }\n\n if (options.removeY) {\n flagsToRemove += 'y';\n }\n\n if (flagsToRemove) {\n flags = nativ.replace.call(flags, new RegExp('[' + flagsToRemove + ']+', 'g'), '');\n }\n\n if (options.addG) {\n flagsToAdd += 'g';\n }\n\n if (options.addY) {\n flagsToAdd += 'y';\n }\n\n if (flagsToAdd) {\n flags = clipDuplicates(flags + flagsToAdd);\n }\n\n if (!options.isInternalOnly) {\n if (xData.source !== undefined) {\n xregexpSource = xData.source;\n } // null or undefined; don't want to add to `flags` if the previous value was null, since\n // that indicates we're not tracking original precompilation flags\n\n\n if (xData.flags != null) {\n // Flags are only added for non-internal regexes by `XRegExp.globalize`. Flags are never\n // removed for non-internal regexes, so don't need to handle it\n xregexpFlags = flagsToAdd ? clipDuplicates(xData.flags + flagsToAdd) : xData.flags;\n }\n } // Augment with `XRegExp.prototype` properties, but use the native `RegExp` constructor to avoid\n // searching for special tokens. That would be wrong for regexes constructed by `RegExp`, and\n // unnecessary for regexes constructed by `XRegExp` because the regex has already undergone the\n // translation to native regex syntax\n\n\n regex = augment(new RegExp(options.source || regex.source, flags), hasNamedCapture(regex) ? xData.captureNames.slice(0) : null, xregexpSource, xregexpFlags, options.isInternalOnly);\n return regex;\n}\n/**\n * Converts hexadecimal to decimal.\n *\n * @private\n * @param {String} hex\n * @returns {Number}\n */\n\n\nfunction dec(hex) {\n return parseInt(hex, 16);\n}\n/**\n * Returns a pattern that can be used in a native RegExp in place of an ignorable token such as an\n * inline comment or whitespace with flag x. This is used directly as a token handler function\n * passed to `XRegExp.addToken`.\n *\n * @private\n * @param {String} match Match arg of `XRegExp.addToken` handler\n * @param {String} scope Scope arg of `XRegExp.addToken` handler\n * @param {String} flags Flags arg of `XRegExp.addToken` handler\n * @returns {String} Either '' or '(?:)', depending on which is needed in the context of the match.\n */\n\n\nfunction getContextualTokenSeparator(match, scope, flags) {\n if ( // No need to separate tokens if at the beginning or end of a group\n match.input[match.index - 1] === '(' || match.input[match.index + match[0].length] === ')' || // Avoid separating tokens when the following token is a quantifier\n isQuantifierNext(match.input, match.index + match[0].length, flags)) {\n return '';\n } // Keep tokens separated. This avoids e.g. inadvertedly changing `\\1 1` or `\\1(?#)1` to `\\11`.\n // This also ensures all tokens remain as discrete atoms, e.g. it avoids converting the syntax\n // error `(? :` into `(?:`.\n\n\n return '(?:)';\n}\n/**\n * Returns native `RegExp` flags used by a regex object.\n *\n * @private\n * @param {RegExp} regex Regex to check.\n * @returns {String} Native flags in use.\n */\n\n\nfunction getNativeFlags(regex) {\n return hasFlagsProp ? regex.flags : // Explicitly using `RegExp.prototype.toString` (rather than e.g. `String` or concatenation\n // with an empty string) allows this to continue working predictably when\n // `XRegExp.proptotype.toString` is overridden\n nativ.exec.call(/\\/([a-z]*)$/i, RegExp.prototype.toString.call(regex))[1];\n}\n/**\n * Determines whether a regex has extended instance data used to track capture names.\n *\n * @private\n * @param {RegExp} regex Regex to check.\n * @returns {Boolean} Whether the regex uses named capture.\n */\n\n\nfunction hasNamedCapture(regex) {\n return !!(regex[REGEX_DATA] && regex[REGEX_DATA].captureNames);\n}\n/**\n * Converts decimal to hexadecimal.\n *\n * @private\n * @param {Number|String} dec\n * @returns {String}\n */\n\n\nfunction hex(dec) {\n return parseInt(dec, 10).toString(16);\n}\n/**\n * Checks whether the next nonignorable token after the specified position is a quantifier.\n *\n * @private\n * @param {String} pattern Pattern to search within.\n * @param {Number} pos Index in `pattern` to search at.\n * @param {String} flags Flags used by the pattern.\n * @returns {Boolean} Whether the next nonignorable token is a quantifier.\n */\n\n\nfunction isQuantifierNext(pattern, pos, flags) {\n var inlineCommentPattern = '\\\\(\\\\?#[^)]*\\\\)';\n var lineCommentPattern = '#[^#\\\\n]*';\n var quantifierPattern = '[?*+]|{\\\\d+(?:,\\\\d*)?}';\n return nativ.test.call(flags.indexOf('x') !== -1 ? // Ignore any leading whitespace, line comments, and inline comments\n /^(?:\\s|#[^#\\n]*|\\(\\?#[^)]*\\))*(?:[?*+]|{\\d+(?:,\\d*)?})/ : // Ignore any leading inline comments\n /^(?:\\(\\?#[^)]*\\))*(?:[?*+]|{\\d+(?:,\\d*)?})/, pattern.slice(pos));\n}\n/**\n * Determines whether a value is of the specified type, by resolving its internal [[Class]].\n *\n * @private\n * @param {*} value Object to check.\n * @param {String} type Type to check for, in TitleCase.\n * @returns {Boolean} Whether the object matches the type.\n */\n\n\nfunction isType(value, type) {\n return toString.call(value) === '[object ' + type + ']';\n}\n/**\n * Adds leading zeros if shorter than four characters. Used for fixed-length hexadecimal values.\n *\n * @private\n * @param {String} str\n * @returns {String}\n */\n\n\nfunction pad4(str) {\n while (str.length < 4) {\n str = '0' + str;\n }\n\n return str;\n}\n/**\n * Checks for flag-related errors, and strips/applies flags in a leading mode modifier. Offloads\n * the flag preparation logic from the `XRegExp` constructor.\n *\n * @private\n * @param {String} pattern Regex pattern, possibly with a leading mode modifier.\n * @param {String} flags Any combination of flags.\n * @returns {Object} Object with properties `pattern` and `flags`.\n */\n\n\nfunction prepareFlags(pattern, flags) {\n var i = void 0; // Recent browsers throw on duplicate flags, so copy this behavior for nonnative flags\n\n if (clipDuplicates(flags) !== flags) {\n throw new SyntaxError('Invalid duplicate regex flag ' + flags);\n } // Strip and apply a leading mode modifier with any combination of flags except g or y\n\n\n pattern = nativ.replace.call(pattern, /^\\(\\?([\\w$]+)\\)/, function ($0, $1) {\n if (nativ.test.call(/[gy]/, $1)) {\n throw new SyntaxError('Cannot use flag g or y in mode modifier ' + $0);\n } // Allow duplicate flags within the mode modifier\n\n\n flags = clipDuplicates(flags + $1);\n return '';\n }); // Throw on unknown native or nonnative flags\n\n for (i = 0; i < flags.length; ++i) {\n if (!registeredFlags[flags[i]]) {\n throw new SyntaxError('Unknown regex flag ' + flags[i]);\n }\n }\n\n return {\n pattern: pattern,\n flags: flags\n };\n}\n/**\n * Prepares an options object from the given value.\n *\n * @private\n * @param {String|Object} value Value to convert to an options object.\n * @returns {Object} Options object.\n */\n\n\nfunction prepareOptions(value) {\n var options = {};\n\n if (isType(value, 'String')) {\n XRegExp.forEach(value, /[^\\s,]+/, function (match) {\n options[match] = true;\n });\n return options;\n }\n\n return value;\n}\n/**\n * Registers a flag so it doesn't throw an 'unknown flag' error.\n *\n * @private\n * @param {String} flag Single-character flag to register.\n */\n\n\nfunction registerFlag(flag) {\n if (!/^[\\w$]$/.test(flag)) {\n throw new Error('Flag must be a single character A-Za-z0-9_$');\n }\n\n registeredFlags[flag] = true;\n}\n/**\n * Runs built-in and custom regex syntax tokens in reverse insertion order at the specified\n * position, until a match is found.\n *\n * @private\n * @param {String} pattern Original pattern from which an XRegExp object is being built.\n * @param {String} flags Flags being used to construct the regex.\n * @param {Number} pos Position to search for tokens within `pattern`.\n * @param {Number} scope Regex scope to apply: 'default' or 'class'.\n * @param {Object} context Context object to use for token handler functions.\n * @returns {Object} Object with properties `matchLength`, `output`, and `reparse`; or `null`.\n */\n\n\nfunction runTokens(pattern, flags, pos, scope, context) {\n var i = tokens.length;\n var leadChar = pattern[pos];\n var result = null;\n var match = void 0;\n var t = void 0; // Run in reverse insertion order\n\n while (i--) {\n t = tokens[i];\n\n if (t.leadChar && t.leadChar !== leadChar || t.scope !== scope && t.scope !== 'all' || t.flag && !(flags.indexOf(t.flag) !== -1)) {\n continue;\n }\n\n match = XRegExp.exec(pattern, t.regex, pos, 'sticky');\n\n if (match) {\n result = {\n matchLength: match[0].length,\n output: t.handler.call(context, match, scope, flags),\n reparse: t.reparse\n }; // Finished with token tests\n\n break;\n }\n }\n\n return result;\n}\n/**\n * Enables or disables implicit astral mode opt-in. When enabled, flag A is automatically added to\n * all new regexes created by XRegExp. This causes an error to be thrown when creating regexes if\n * the Unicode Base addon is not available, since flag A is registered by that addon.\n *\n * @private\n * @param {Boolean} on `true` to enable; `false` to disable.\n */\n\n\nfunction setAstral(on) {\n features.astral = on;\n}\n/**\n * Returns the object, or throws an error if it is `null` or `undefined`. This is used to follow\n * the ES5 abstract operation `ToObject`.\n *\n * @private\n * @param {*} value Object to check and return.\n * @returns {*} The provided object.\n */\n\n\nfunction toObject(value) {\n // null or undefined\n if (value == null) {\n throw new TypeError('Cannot convert null or undefined to object');\n }\n\n return value;\n} // ==--------------------------==\n// Constructor\n// ==--------------------------==\n\n/**\n * Creates an extended regular expression object for matching text with a pattern. Differs from a\n * native regular expression in that additional syntax and flags are supported. The returned object\n * is in fact a native `RegExp` and works with all native methods.\n *\n * @class XRegExp\n * @constructor\n * @param {String|RegExp} pattern Regex pattern string, or an existing regex object to copy.\n * @param {String} [flags] Any combination of flags.\n * Native flags:\n * - `g` - global\n * - `i` - ignore case\n * - `m` - multiline anchors\n * - `u` - unicode (ES6)\n * - `y` - sticky (Firefox 3+, ES6)\n * Additional XRegExp flags:\n * - `n` - explicit capture\n * - `s` - dot matches all (aka singleline)\n * - `x` - free-spacing and line comments (aka extended)\n * - `A` - astral (requires the Unicode Base addon)\n * Flags cannot be provided when constructing one `RegExp` from another.\n * @returns {RegExp} Extended regular expression object.\n * @example\n *\n * // With named capture and flag x\n * XRegExp(`(? [0-9]{4} ) -? # year\n * (? [0-9]{2} ) -? # month\n * (? [0-9]{2} ) # day`, 'x');\n *\n * // Providing a regex object copies it. Native regexes are recompiled using native (not XRegExp)\n * // syntax. Copies maintain extended data, are augmented with `XRegExp.prototype` properties, and\n * // have fresh `lastIndex` properties (set to zero).\n * XRegExp(/regex/);\n */\n\n\nfunction XRegExp(pattern, flags) {\n if (XRegExp.isRegExp(pattern)) {\n if (flags !== undefined) {\n throw new TypeError('Cannot supply flags when copying a RegExp');\n }\n\n return copyRegex(pattern);\n } // Copy the argument behavior of `RegExp`\n\n\n pattern = pattern === undefined ? '' : String(pattern);\n flags = flags === undefined ? '' : String(flags);\n\n if (XRegExp.isInstalled('astral') && !(flags.indexOf('A') !== -1)) {\n // This causes an error to be thrown if the Unicode Base addon is not available\n flags += 'A';\n }\n\n if (!patternCache[pattern]) {\n patternCache[pattern] = {};\n }\n\n if (!patternCache[pattern][flags]) {\n var context = {\n hasNamedCapture: false,\n captureNames: []\n };\n var scope = defaultScope;\n var output = '';\n var pos = 0;\n var result = void 0; // Check for flag-related errors, and strip/apply flags in a leading mode modifier\n\n var applied = prepareFlags(pattern, flags);\n var appliedPattern = applied.pattern;\n var appliedFlags = applied.flags; // Use XRegExp's tokens to translate the pattern to a native regex pattern.\n // `appliedPattern.length` may change on each iteration if tokens use `reparse`\n\n while (pos < appliedPattern.length) {\n do {\n // Check for custom tokens at the current position\n result = runTokens(appliedPattern, appliedFlags, pos, scope, context); // If the matched token used the `reparse` option, splice its output into the\n // pattern before running tokens again at the same position\n\n if (result && result.reparse) {\n appliedPattern = appliedPattern.slice(0, pos) + result.output + appliedPattern.slice(pos + result.matchLength);\n }\n } while (result && result.reparse);\n\n if (result) {\n output += result.output;\n pos += result.matchLength || 1;\n } else {\n // Get the native token at the current position\n var token = XRegExp.exec(appliedPattern, nativeTokens[scope], pos, 'sticky')[0];\n output += token;\n pos += token.length;\n\n if (token === '[' && scope === defaultScope) {\n scope = classScope;\n } else if (token === ']' && scope === classScope) {\n scope = defaultScope;\n }\n }\n }\n\n patternCache[pattern][flags] = {\n // Use basic cleanup to collapse repeated empty groups like `(?:)(?:)` to `(?:)`. Empty\n // groups are sometimes inserted during regex transpilation in order to keep tokens\n // separated. However, more than one empty group in a row is never needed.\n pattern: nativ.replace.call(output, /(?:\\(\\?:\\))+/g, '(?:)'),\n // Strip all but native flags\n flags: nativ.replace.call(appliedFlags, /[^gimuy]+/g, ''),\n // `context.captureNames` has an item for each capturing group, even if unnamed\n captures: context.hasNamedCapture ? context.captureNames : null\n };\n }\n\n var generated = patternCache[pattern][flags];\n return augment(new RegExp(generated.pattern, generated.flags), generated.captures, pattern, flags);\n} // Add `RegExp.prototype` to the prototype chain\n\n\nXRegExp.prototype = /(?:)/; // ==--------------------------==\n// Public properties\n// ==--------------------------==\n\n/**\n * The XRegExp version number as a string containing three dot-separated parts. For example,\n * '2.0.0-beta-3'.\n *\n * @static\n * @memberOf XRegExp\n * @type String\n */\n\nXRegExp.version = '4.0.0'; // ==--------------------------==\n// Public methods\n// ==--------------------------==\n// Intentionally undocumented; used in tests and addons\n\nXRegExp._clipDuplicates = clipDuplicates;\nXRegExp._hasNativeFlag = hasNativeFlag;\nXRegExp._dec = dec;\nXRegExp._hex = hex;\nXRegExp._pad4 = pad4;\n/**\n * Extends XRegExp syntax and allows custom flags. This is used internally and can be used to\n * create XRegExp addons. If more than one token can match the same string, the last added wins.\n *\n * @memberOf XRegExp\n * @param {RegExp} regex Regex object that matches the new token.\n * @param {Function} handler Function that returns a new pattern string (using native regex syntax)\n * to replace the matched token within all future XRegExp regexes. Has access to persistent\n * properties of the regex being built, through `this`. Invoked with three arguments:\n * - The match array, with named backreference properties.\n * - The regex scope where the match was found: 'default' or 'class'.\n * - The flags used by the regex, including any flags in a leading mode modifier.\n * The handler function becomes part of the XRegExp construction process, so be careful not to\n * construct XRegExps within the function or you will trigger infinite recursion.\n * @param {Object} [options] Options object with optional properties:\n * - `scope` {String} Scope where the token applies: 'default', 'class', or 'all'.\n * - `flag` {String} Single-character flag that triggers the token. This also registers the\n * flag, which prevents XRegExp from throwing an 'unknown flag' error when the flag is used.\n * - `optionalFlags` {String} Any custom flags checked for within the token `handler` that are\n * not required to trigger the token. This registers the flags, to prevent XRegExp from\n * throwing an 'unknown flag' error when any of the flags are used.\n * - `reparse` {Boolean} Whether the `handler` function's output should not be treated as\n * final, and instead be reparseable by other tokens (including the current token). Allows\n * token chaining or deferring.\n * - `leadChar` {String} Single character that occurs at the beginning of any successful match\n * of the token (not always applicable). This doesn't change the behavior of the token unless\n * you provide an erroneous value. However, providing it can increase the token's performance\n * since the token can be skipped at any positions where this character doesn't appear.\n * @example\n *\n * // Basic usage: Add \\a for the ALERT control code\n * XRegExp.addToken(\n * /\\\\a/,\n * () => '\\\\x07',\n * {scope: 'all'}\n * );\n * XRegExp('\\\\a[\\\\a-\\\\n]+').test('\\x07\\n\\x07'); // -> true\n *\n * // Add the U (ungreedy) flag from PCRE and RE2, which reverses greedy and lazy quantifiers.\n * // Since `scope` is not specified, it uses 'default' (i.e., transformations apply outside of\n * // character classes only)\n * XRegExp.addToken(\n * /([?*+]|{\\d+(?:,\\d*)?})(\\??)/,\n * (match) => `${match[1]}${match[2] ? '' : '?'}`,\n * {flag: 'U'}\n * );\n * XRegExp('a+', 'U').exec('aaa')[0]; // -> 'a'\n * XRegExp('a+?', 'U').exec('aaa')[0]; // -> 'aaa'\n */\n\nXRegExp.addToken = function (regex, handler, options) {\n options = options || {};\n var optionalFlags = options.optionalFlags;\n var i = void 0;\n\n if (options.flag) {\n registerFlag(options.flag);\n }\n\n if (optionalFlags) {\n optionalFlags = nativ.split.call(optionalFlags, '');\n\n for (i = 0; i < optionalFlags.length; ++i) {\n registerFlag(optionalFlags[i]);\n }\n } // Add to the private list of syntax tokens\n\n\n tokens.push({\n regex: copyRegex(regex, {\n addG: true,\n addY: hasNativeY,\n isInternalOnly: true\n }),\n handler: handler,\n scope: options.scope || defaultScope,\n flag: options.flag,\n reparse: options.reparse,\n leadChar: options.leadChar\n }); // Reset the pattern cache used by the `XRegExp` constructor, since the same pattern and flags\n // might now produce different results\n\n XRegExp.cache.flush('patterns');\n};\n/**\n * Caches and returns the result of calling `XRegExp(pattern, flags)`. On any subsequent call with\n * the same pattern and flag combination, the cached copy of the regex is returned.\n *\n * @memberOf XRegExp\n * @param {String} pattern Regex pattern string.\n * @param {String} [flags] Any combination of XRegExp flags.\n * @returns {RegExp} Cached XRegExp object.\n * @example\n *\n * while (match = XRegExp.cache('.', 'gs').exec(str)) {\n * // The regex is compiled once only\n * }\n */\n\n\nXRegExp.cache = function (pattern, flags) {\n if (!regexCache[pattern]) {\n regexCache[pattern] = {};\n }\n\n return regexCache[pattern][flags] || (regexCache[pattern][flags] = XRegExp(pattern, flags));\n}; // Intentionally undocumented; used in tests\n\n\nXRegExp.cache.flush = function (cacheName) {\n if (cacheName === 'patterns') {\n // Flush the pattern cache used by the `XRegExp` constructor\n patternCache = {};\n } else {\n // Flush the regex cache populated by `XRegExp.cache`\n regexCache = {};\n }\n};\n/**\n * Escapes any regular expression metacharacters, for use when matching literal strings. The result\n * can safely be used at any point within a regex that uses any flags.\n *\n * @memberOf XRegExp\n * @param {String} str String to escape.\n * @returns {String} String with regex metacharacters escaped.\n * @example\n *\n * XRegExp.escape('Escaped? <.>');\n * // -> 'Escaped\\?\\ <\\.>'\n */\n\n\nXRegExp.escape = function (str) {\n return nativ.replace.call(toObject(str), /[-\\[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n};\n/**\n * Executes a regex search in a specified string. Returns a match array or `null`. If the provided\n * regex uses named capture, named backreference properties are included on the match array.\n * Optional `pos` and `sticky` arguments specify the search start position, and whether the match\n * must start at the specified position only. The `lastIndex` property of the provided regex is not\n * used, but is updated for compatibility. Also fixes browser bugs compared to the native\n * `RegExp.prototype.exec` and can be used reliably cross-browser.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp} regex Regex to search with.\n * @param {Number} [pos=0] Zero-based index at which to start the search.\n * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position\n * only. The string `'sticky'` is accepted as an alternative to `true`.\n * @returns {Array} Match array with named backreference properties, or `null`.\n * @example\n *\n * // Basic use, with named backreference\n * let match = XRegExp.exec('U+2620', XRegExp('U\\\\+(?[0-9A-F]{4})'));\n * match.hex; // -> '2620'\n *\n * // With pos and sticky, in a loop\n * let pos = 2, result = [], match;\n * while (match = XRegExp.exec('<1><2><3><4>5<6>', /<(\\d)>/, pos, 'sticky')) {\n * result.push(match[1]);\n * pos = match.index + match[0].length;\n * }\n * // result -> ['2', '3', '4']\n */\n\n\nXRegExp.exec = function (str, regex, pos, sticky) {\n var cacheKey = 'g';\n var addY = false;\n var fakeY = false;\n var match = void 0;\n addY = hasNativeY && !!(sticky || regex.sticky && sticky !== false);\n\n if (addY) {\n cacheKey += 'y';\n } else if (sticky) {\n // Simulate sticky matching by appending an empty capture to the original regex. The\n // resulting regex will succeed no matter what at the current index (set with `lastIndex`),\n // and will not search the rest of the subject string. We'll know that the original regex\n // has failed if that last capture is `''` rather than `undefined` (i.e., if that last\n // capture participated in the match).\n fakeY = true;\n cacheKey += 'FakeY';\n }\n\n regex[REGEX_DATA] = regex[REGEX_DATA] || {}; // Shares cached copies with `XRegExp.match`/`replace`\n\n var r2 = regex[REGEX_DATA][cacheKey] || (regex[REGEX_DATA][cacheKey] = copyRegex(regex, {\n addG: true,\n addY: addY,\n source: fakeY ? regex.source + '|()' : undefined,\n removeY: sticky === false,\n isInternalOnly: true\n }));\n pos = pos || 0;\n r2.lastIndex = pos; // Fixed `exec` required for `lastIndex` fix, named backreferences, etc.\n\n match = fixed.exec.call(r2, str); // Get rid of the capture added by the pseudo-sticky matcher if needed. An empty string means\n // the original regexp failed (see above).\n\n if (fakeY && match && match.pop() === '') {\n match = null;\n }\n\n if (regex.global) {\n regex.lastIndex = match ? r2.lastIndex : 0;\n }\n\n return match;\n};\n/**\n * Executes a provided function once per regex match. Searches always start at the beginning of the\n * string and continue until the end, regardless of the state of the regex's `global` property and\n * initial `lastIndex`.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp} regex Regex to search with.\n * @param {Function} callback Function to execute for each match. Invoked with four arguments:\n * - The match array, with named backreference properties.\n * - The zero-based match index.\n * - The string being traversed.\n * - The regex object being used to traverse the string.\n * @example\n *\n * // Extracts every other digit from a string\n * const evens = [];\n * XRegExp.forEach('1a2345', /\\d/, (match, i) => {\n * if (i % 2) evens.push(+match[0]);\n * });\n * // evens -> [2, 4]\n */\n\n\nXRegExp.forEach = function (str, regex, callback) {\n var pos = 0;\n var i = -1;\n var match = void 0;\n\n while (match = XRegExp.exec(str, regex, pos)) {\n // Because `regex` is provided to `callback`, the function could use the deprecated/\n // nonstandard `RegExp.prototype.compile` to mutate the regex. However, since `XRegExp.exec`\n // doesn't use `lastIndex` to set the search position, this can't lead to an infinite loop,\n // at least. Actually, because of the way `XRegExp.exec` caches globalized versions of\n // regexes, mutating the regex will not have any effect on the iteration or matched strings,\n // which is a nice side effect that brings extra safety.\n callback(match, ++i, str, regex);\n pos = match.index + (match[0].length || 1);\n }\n};\n/**\n * Copies a regex object and adds flag `g`. The copy maintains extended data, is augmented with\n * `XRegExp.prototype` properties, and has a fresh `lastIndex` property (set to zero). Native\n * regexes are not recompiled using XRegExp syntax.\n *\n * @memberOf XRegExp\n * @param {RegExp} regex Regex to globalize.\n * @returns {RegExp} Copy of the provided regex with flag `g` added.\n * @example\n *\n * const globalCopy = XRegExp.globalize(/regex/);\n * globalCopy.global; // -> true\n */\n\n\nXRegExp.globalize = function (regex) {\n return copyRegex(regex, {\n addG: true\n });\n};\n/**\n * Installs optional features according to the specified options. Can be undone using\n * `XRegExp.uninstall`.\n *\n * @memberOf XRegExp\n * @param {Object|String} options Options object or string.\n * @example\n *\n * // With an options object\n * XRegExp.install({\n * // Enables support for astral code points in Unicode addons (implicitly sets flag A)\n * astral: true\n * });\n *\n * // With an options string\n * XRegExp.install('astral');\n */\n\n\nXRegExp.install = function (options) {\n options = prepareOptions(options);\n\n if (!features.astral && options.astral) {\n setAstral(true);\n }\n};\n/**\n * Checks whether an individual optional feature is installed.\n *\n * @memberOf XRegExp\n * @param {String} feature Name of the feature to check. One of:\n * - `astral`\n * @returns {Boolean} Whether the feature is installed.\n * @example\n *\n * XRegExp.isInstalled('astral');\n */\n\n\nXRegExp.isInstalled = function (feature) {\n return !!features[feature];\n};\n/**\n * Returns `true` if an object is a regex; `false` if it isn't. This works correctly for regexes\n * created in another frame, when `instanceof` and `constructor` checks would fail.\n *\n * @memberOf XRegExp\n * @param {*} value Object to check.\n * @returns {Boolean} Whether the object is a `RegExp` object.\n * @example\n *\n * XRegExp.isRegExp('string'); // -> false\n * XRegExp.isRegExp(/regex/i); // -> true\n * XRegExp.isRegExp(RegExp('^', 'm')); // -> true\n * XRegExp.isRegExp(XRegExp('(?s).')); // -> true\n */\n\n\nXRegExp.isRegExp = function (value) {\n return toString.call(value) === '[object RegExp]';\n}; // isType(value, 'RegExp');\n\n/**\n * Returns the first matched string, or in global mode, an array containing all matched strings.\n * This is essentially a more convenient re-implementation of `String.prototype.match` that gives\n * the result types you actually want (string instead of `exec`-style array in match-first mode,\n * and an empty array instead of `null` when no matches are found in match-all mode). It also lets\n * you override flag g and ignore `lastIndex`, and fixes browser bugs.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp} regex Regex to search with.\n * @param {String} [scope='one'] Use 'one' to return the first match as a string. Use 'all' to\n * return an array of all matched strings. If not explicitly specified and `regex` uses flag g,\n * `scope` is 'all'.\n * @returns {String|Array} In match-first mode: First match as a string, or `null`. In match-all\n * mode: Array of all matched strings, or an empty array.\n * @example\n *\n * // Match first\n * XRegExp.match('abc', /\\w/); // -> 'a'\n * XRegExp.match('abc', /\\w/g, 'one'); // -> 'a'\n * XRegExp.match('abc', /x/g, 'one'); // -> null\n *\n * // Match all\n * XRegExp.match('abc', /\\w/g); // -> ['a', 'b', 'c']\n * XRegExp.match('abc', /\\w/, 'all'); // -> ['a', 'b', 'c']\n * XRegExp.match('abc', /x/, 'all'); // -> []\n */\n\n\nXRegExp.match = function (str, regex, scope) {\n var global = regex.global && scope !== 'one' || scope === 'all';\n var cacheKey = (global ? 'g' : '') + (regex.sticky ? 'y' : '') || 'noGY';\n regex[REGEX_DATA] = regex[REGEX_DATA] || {}; // Shares cached copies with `XRegExp.exec`/`replace`\n\n var r2 = regex[REGEX_DATA][cacheKey] || (regex[REGEX_DATA][cacheKey] = copyRegex(regex, {\n addG: !!global,\n removeG: scope === 'one',\n isInternalOnly: true\n }));\n var result = nativ.match.call(toObject(str), r2);\n\n if (regex.global) {\n regex.lastIndex = scope === 'one' && result ? // Can't use `r2.lastIndex` since `r2` is nonglobal in this case\n result.index + result[0].length : 0;\n }\n\n return global ? result || [] : result && result[0];\n};\n/**\n * Retrieves the matches from searching a string using a chain of regexes that successively search\n * within previous matches. The provided `chain` array can contain regexes and or objects with\n * `regex` and `backref` properties. When a backreference is specified, the named or numbered\n * backreference is passed forward to the next regex or returned.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {Array} chain Regexes that each search for matches within preceding results.\n * @returns {Array} Matches by the last regex in the chain, or an empty array.\n * @example\n *\n * // Basic usage; matches numbers within tags\n * XRegExp.matchChain('1 2 3 4 a 56', [\n * XRegExp('(?is).*?'),\n * /\\d+/\n * ]);\n * // -> ['2', '4', '56']\n *\n * // Passing forward and returning specific backreferences\n * html = 'XRegExp\\\n * Google';\n * XRegExp.matchChain(html, [\n * {regex: //i, backref: 1},\n * {regex: XRegExp('(?i)^https?://(?[^/?#]+)'), backref: 'domain'}\n * ]);\n * // -> ['xregexp.com', 'www.google.com']\n */\n\n\nXRegExp.matchChain = function (str, chain) {\n return function recurseChain(values, level) {\n var item = chain[level].regex ? chain[level] : {\n regex: chain[level]\n };\n var matches = [];\n\n function addMatch(match) {\n if (item.backref) {\n // Safari 4.0.5 (but not 5.0.5+) inappropriately uses sparse arrays to hold the\n // `undefined`s for backreferences to nonparticipating capturing groups. In such\n // cases, a `hasOwnProperty` or `in` check on its own would inappropriately throw\n // the exception, so also check if the backreference is a number that is within the\n // bounds of the array.\n if (!(match.hasOwnProperty(item.backref) || +item.backref < match.length)) {\n throw new ReferenceError('Backreference to undefined group: ' + item.backref);\n }\n\n matches.push(match[item.backref] || '');\n } else {\n matches.push(match[0]);\n }\n }\n\n for (var i = 0; i < values.length; ++i) {\n XRegExp.forEach(values[i], item.regex, addMatch);\n }\n\n return level === chain.length - 1 || !matches.length ? matches : recurseChain(matches, level + 1);\n }([str], 0);\n};\n/**\n * Returns a new string with one or all matches of a pattern replaced. The pattern can be a string\n * or regex, and the replacement can be a string or a function to be called for each match. To\n * perform a global search and replace, use the optional `scope` argument or include flag g if using\n * a regex. Replacement strings can use `${n}` or `$` for named and numbered backreferences.\n * Replacement functions can use named backreferences via `arguments[0].name`. Also fixes browser\n * bugs compared to the native `String.prototype.replace` and can be used reliably cross-browser.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp|String} search Search pattern to be replaced.\n * @param {String|Function} replacement Replacement string or a function invoked to create it.\n * Replacement strings can include special replacement syntax:\n * - $$ - Inserts a literal $ character.\n * - $&, $0 - Inserts the matched substring.\n * - $` - Inserts the string that precedes the matched substring (left context).\n * - $' - Inserts the string that follows the matched substring (right context).\n * - $n, $nn - Where n/nn are digits referencing an existent capturing group, inserts\n * backreference n/nn.\n * - ${n}, $ - Where n is a name or any number of digits that reference an existent capturing\n * group, inserts backreference n.\n * Replacement functions are invoked with three or more arguments:\n * - The matched substring (corresponds to $& above). Named backreferences are accessible as\n * properties of this first argument.\n * - 0..n arguments, one for each backreference (corresponding to $1, $2, etc. above).\n * - The zero-based index of the match within the total search string.\n * - The total string being searched.\n * @param {String} [scope='one'] Use 'one' to replace the first match only, or 'all'. If not\n * explicitly specified and using a regex with flag g, `scope` is 'all'.\n * @returns {String} New string with one or all matches replaced.\n * @example\n *\n * // Regex search, using named backreferences in replacement string\n * const name = XRegExp('(?\\\\w+) (?\\\\w+)');\n * XRegExp.replace('John Smith', name, '$, $');\n * // -> 'Smith, John'\n *\n * // Regex search, using named backreferences in replacement function\n * XRegExp.replace('John Smith', name, (match) => `${match.last}, ${match.first}`);\n * // -> 'Smith, John'\n *\n * // String search, with replace-all\n * XRegExp.replace('RegExp builds RegExps', 'RegExp', 'XRegExp', 'all');\n * // -> 'XRegExp builds XRegExps'\n */\n\n\nXRegExp.replace = function (str, search, replacement, scope) {\n var isRegex = XRegExp.isRegExp(search);\n var global = search.global && scope !== 'one' || scope === 'all';\n var cacheKey = (global ? 'g' : '') + (search.sticky ? 'y' : '') || 'noGY';\n var s2 = search;\n\n if (isRegex) {\n search[REGEX_DATA] = search[REGEX_DATA] || {}; // Shares cached copies with `XRegExp.exec`/`match`. Since a copy is used, `search`'s\n // `lastIndex` isn't updated *during* replacement iterations\n\n s2 = search[REGEX_DATA][cacheKey] || (search[REGEX_DATA][cacheKey] = copyRegex(search, {\n addG: !!global,\n removeG: scope === 'one',\n isInternalOnly: true\n }));\n } else if (global) {\n s2 = new RegExp(XRegExp.escape(String(search)), 'g');\n } // Fixed `replace` required for named backreferences, etc.\n\n\n var result = fixed.replace.call(toObject(str), s2, replacement);\n\n if (isRegex && search.global) {\n // Fixes IE, Safari bug (last tested IE 9, Safari 5.1)\n search.lastIndex = 0;\n }\n\n return result;\n};\n/**\n * Performs batch processing of string replacements. Used like `XRegExp.replace`, but accepts an\n * array of replacement details. Later replacements operate on the output of earlier replacements.\n * Replacement details are accepted as an array with a regex or string to search for, the\n * replacement string or function, and an optional scope of 'one' or 'all'. Uses the XRegExp\n * replacement text syntax, which supports named backreference properties via `${name}` or\n * `$`.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {Array} replacements Array of replacement detail arrays.\n * @returns {String} New string with all replacements.\n * @example\n *\n * str = XRegExp.replaceEach(str, [\n * [XRegExp('(?a)'), 'z${name}'],\n * [/b/gi, 'y'],\n * [/c/g, 'x', 'one'], // scope 'one' overrides /g\n * [/d/, 'w', 'all'], // scope 'all' overrides lack of /g\n * ['e', 'v', 'all'], // scope 'all' allows replace-all for strings\n * [/f/g, ($0) => $0.toUpperCase()]\n * ]);\n */\n\n\nXRegExp.replaceEach = function (str, replacements) {\n var i = void 0;\n var r = void 0;\n\n for (i = 0; i < replacements.length; ++i) {\n r = replacements[i];\n str = XRegExp.replace(str, r[0], r[1], r[2]);\n }\n\n return str;\n};\n/**\n * Splits a string into an array of strings using a regex or string separator. Matches of the\n * separator are not included in the result array. However, if `separator` is a regex that contains\n * capturing groups, backreferences are spliced into the result each time `separator` is matched.\n * Fixes browser bugs compared to the native `String.prototype.split` and can be used reliably\n * cross-browser.\n *\n * @memberOf XRegExp\n * @param {String} str String to split.\n * @param {RegExp|String} separator Regex or string to use for separating the string.\n * @param {Number} [limit] Maximum number of items to include in the result array.\n * @returns {Array} Array of substrings.\n * @example\n *\n * // Basic use\n * XRegExp.split('a b c', ' ');\n * // -> ['a', 'b', 'c']\n *\n * // With limit\n * XRegExp.split('a b c', ' ', 2);\n * // -> ['a', 'b']\n *\n * // Backreferences in result array\n * XRegExp.split('..word1..', /([a-z]+)(\\d+)/i);\n * // -> ['..', 'word', '1', '..']\n */\n\n\nXRegExp.split = function (str, separator, limit) {\n return fixed.split.call(toObject(str), separator, limit);\n};\n/**\n * Executes a regex search in a specified string. Returns `true` or `false`. Optional `pos` and\n * `sticky` arguments specify the search start position, and whether the match must start at the\n * specified position only. The `lastIndex` property of the provided regex is not used, but is\n * updated for compatibility. Also fixes browser bugs compared to the native\n * `RegExp.prototype.test` and can be used reliably cross-browser.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp} regex Regex to search with.\n * @param {Number} [pos=0] Zero-based index at which to start the search.\n * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position\n * only. The string `'sticky'` is accepted as an alternative to `true`.\n * @returns {Boolean} Whether the regex matched the provided value.\n * @example\n *\n * // Basic use\n * XRegExp.test('abc', /c/); // -> true\n *\n * // With pos and sticky\n * XRegExp.test('abc', /c/, 0, 'sticky'); // -> false\n * XRegExp.test('abc', /c/, 2, 'sticky'); // -> true\n */\n// Do this the easy way :-)\n\n\nXRegExp.test = function (str, regex, pos, sticky) {\n return !!XRegExp.exec(str, regex, pos, sticky);\n};\n/**\n * Uninstalls optional features according to the specified options. All optional features start out\n * uninstalled, so this is used to undo the actions of `XRegExp.install`.\n *\n * @memberOf XRegExp\n * @param {Object|String} options Options object or string.\n * @example\n *\n * // With an options object\n * XRegExp.uninstall({\n * // Disables support for astral code points in Unicode addons\n * astral: true\n * });\n *\n * // With an options string\n * XRegExp.uninstall('astral');\n */\n\n\nXRegExp.uninstall = function (options) {\n options = prepareOptions(options);\n\n if (features.astral && options.astral) {\n setAstral(false);\n }\n};\n/**\n * Returns an XRegExp object that is the union of the given patterns. Patterns can be provided as\n * regex objects or strings. Metacharacters are escaped in patterns provided as strings.\n * Backreferences in provided regex objects are automatically renumbered to work correctly within\n * the larger combined pattern. Native flags used by provided regexes are ignored in favor of the\n * `flags` argument.\n *\n * @memberOf XRegExp\n * @param {Array} patterns Regexes and strings to combine.\n * @param {String} [flags] Any combination of XRegExp flags.\n * @param {Object} [options] Options object with optional properties:\n * - `conjunction` {String} Type of conjunction to use: 'or' (default) or 'none'.\n * @returns {RegExp} Union of the provided regexes and strings.\n * @example\n *\n * XRegExp.union(['a+b*c', /(dogs)\\1/, /(cats)\\1/], 'i');\n * // -> /a\\+b\\*c|(dogs)\\1|(cats)\\2/i\n *\n * XRegExp.union([/man/, /bear/, /pig/], 'i', {conjunction: 'none'});\n * // -> /manbearpig/i\n */\n\n\nXRegExp.union = function (patterns, flags, options) {\n options = options || {};\n var conjunction = options.conjunction || 'or';\n var numCaptures = 0;\n var numPriorCaptures = void 0;\n var captureNames = void 0;\n\n function rewrite(match, paren, backref) {\n var name = captureNames[numCaptures - numPriorCaptures]; // Capturing group\n\n if (paren) {\n ++numCaptures; // If the current capture has a name, preserve the name\n\n if (name) {\n return '(?<' + name + '>';\n } // Backreference\n\n } else if (backref) {\n // Rewrite the backreference\n return '\\\\' + (+backref + numPriorCaptures);\n }\n\n return match;\n }\n\n if (!(isType(patterns, 'Array') && patterns.length)) {\n throw new TypeError('Must provide a nonempty array of patterns to merge');\n }\n\n var parts = /(\\()(?!\\?)|\\\\([1-9]\\d*)|\\\\[\\s\\S]|\\[(?:[^\\\\\\]]|\\\\[\\s\\S])*\\]/g;\n var output = [];\n var pattern = void 0;\n\n for (var i = 0; i < patterns.length; ++i) {\n pattern = patterns[i];\n\n if (XRegExp.isRegExp(pattern)) {\n numPriorCaptures = numCaptures;\n captureNames = pattern[REGEX_DATA] && pattern[REGEX_DATA].captureNames || []; // Rewrite backreferences. Passing to XRegExp dies on octals and ensures patterns are\n // independently valid; helps keep this simple. Named captures are put back\n\n output.push(nativ.replace.call(XRegExp(pattern.source).source, parts, rewrite));\n } else {\n output.push(XRegExp.escape(pattern));\n }\n }\n\n var separator = conjunction === 'none' ? '' : '|';\n return XRegExp(output.join(separator), flags);\n}; // ==--------------------------==\n// Fixed/extended native methods\n// ==--------------------------==\n\n/**\n * Adds named capture support (with backreferences returned as `result.name`), and fixes browser\n * bugs in the native `RegExp.prototype.exec`. Use via `XRegExp.exec`.\n *\n * @memberOf RegExp\n * @param {String} str String to search.\n * @returns {Array} Match array with named backreference properties, or `null`.\n */\n\n\nfixed.exec = function (str) {\n var origLastIndex = this.lastIndex;\n var match = nativ.exec.apply(this, arguments);\n\n if (match) {\n // Fix browsers whose `exec` methods don't return `undefined` for nonparticipating capturing\n // groups. This fixes IE 5.5-8, but not IE 9's quirks mode or emulation of older IEs. IE 9\n // in standards mode follows the spec.\n if (!correctExecNpcg && match.length > 1 && match.indexOf('') !== -1) {\n var r2 = copyRegex(this, {\n removeG: true,\n isInternalOnly: true\n }); // Using `str.slice(match.index)` rather than `match[0]` in case lookahead allowed\n // matching due to characters outside the match\n\n nativ.replace.call(String(str).slice(match.index), r2, function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var len = args.length; // Skip index 0 and the last 2\n\n for (var i = 1; i < len - 2; ++i) {\n if (args[i] === undefined) {\n match[i] = undefined;\n }\n }\n });\n } // Attach named capture properties\n\n\n if (this[REGEX_DATA] && this[REGEX_DATA].captureNames) {\n // Skip index 0\n for (var i = 1; i < match.length; ++i) {\n var name = this[REGEX_DATA].captureNames[i - 1];\n\n if (name) {\n match[name] = match[i];\n }\n }\n } // Fix browsers that increment `lastIndex` after zero-length matches\n\n\n if (this.global && !match[0].length && this.lastIndex > match.index) {\n this.lastIndex = match.index;\n }\n }\n\n if (!this.global) {\n // Fixes IE, Opera bug (last tested IE 9, Opera 11.6)\n this.lastIndex = origLastIndex;\n }\n\n return match;\n};\n/**\n * Fixes browser bugs in the native `RegExp.prototype.test`.\n *\n * @memberOf RegExp\n * @param {String} str String to search.\n * @returns {Boolean} Whether the regex matched the provided value.\n */\n\n\nfixed.test = function (str) {\n // Do this the easy way :-)\n return !!fixed.exec.call(this, str);\n};\n/**\n * Adds named capture support (with backreferences returned as `result.name`), and fixes browser\n * bugs in the native `String.prototype.match`.\n *\n * @memberOf String\n * @param {RegExp|*} regex Regex to search with. If not a regex object, it is passed to `RegExp`.\n * @returns {Array} If `regex` uses flag g, an array of match strings or `null`. Without flag g,\n * the result of calling `regex.exec(this)`.\n */\n\n\nfixed.match = function (regex) {\n if (!XRegExp.isRegExp(regex)) {\n // Use the native `RegExp` rather than `XRegExp`\n regex = new RegExp(regex);\n } else if (regex.global) {\n var result = nativ.match.apply(this, arguments); // Fixes IE bug\n\n regex.lastIndex = 0;\n return result;\n }\n\n return fixed.exec.call(regex, toObject(this));\n};\n/**\n * Adds support for `${n}` (or `$`) tokens for named and numbered backreferences in replacement\n * text, and provides named backreferences to replacement functions as `arguments[0].name`. Also\n * fixes browser bugs in replacement text syntax when performing a replacement using a nonregex\n * search value, and the value of a replacement regex's `lastIndex` property during replacement\n * iterations and upon completion. Note that this doesn't support SpiderMonkey's proprietary third\n * (`flags`) argument. Use via `XRegExp.replace`.\n *\n * @memberOf String\n * @param {RegExp|String} search Search pattern to be replaced.\n * @param {String|Function} replacement Replacement string or a function invoked to create it.\n * @returns {String} New string with one or all matches replaced.\n */\n\n\nfixed.replace = function (search, replacement) {\n var isRegex = XRegExp.isRegExp(search);\n var origLastIndex = void 0;\n var captureNames = void 0;\n var result = void 0;\n\n if (isRegex) {\n if (search[REGEX_DATA]) {\n captureNames = search[REGEX_DATA].captureNames;\n } // Only needed if `search` is nonglobal\n\n\n origLastIndex = search.lastIndex;\n } else {\n search += ''; // Type-convert\n } // Don't use `typeof`; some older browsers return 'function' for regex objects\n\n\n if (isType(replacement, 'Function')) {\n // Stringifying `this` fixes a bug in IE < 9 where the last argument in replacement\n // functions isn't type-converted to a string\n result = nativ.replace.call(String(this), search, function () {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (captureNames) {\n // Change the `args[0]` string primitive to a `String` object that can store\n // properties. This really does need to use `String` as a constructor\n args[0] = new String(args[0]); // Store named backreferences on the first argument\n\n for (var i = 0; i < captureNames.length; ++i) {\n if (captureNames[i]) {\n args[0][captureNames[i]] = args[i + 1];\n }\n }\n } // Update `lastIndex` before calling `replacement`. Fixes IE, Chrome, Firefox, Safari\n // bug (last tested IE 9, Chrome 17, Firefox 11, Safari 5.1)\n\n\n if (isRegex && search.global) {\n search.lastIndex = args[args.length - 2] + args[0].length;\n } // ES6 specs the context for replacement functions as `undefined`\n\n\n return replacement.apply(undefined, args);\n });\n } else {\n // Ensure that the last value of `args` will be a string when given nonstring `this`,\n // while still throwing on null or undefined context\n result = nativ.replace.call(this == null ? this : String(this), search, function () {\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return nativ.replace.call(String(replacement), replacementToken, replacer);\n\n function replacer($0, bracketed, angled, dollarToken) {\n bracketed = bracketed || angled; // Named or numbered backreference with curly or angled braces\n\n if (bracketed) {\n // XRegExp behavior for `${n}` or `$`:\n // 1. Backreference to numbered capture, if `n` is an integer. Use `0` for the\n // entire match. Any number of leading zeros may be used.\n // 2. Backreference to named capture `n`, if it exists and is not an integer\n // overridden by numbered capture. In practice, this does not overlap with\n // numbered capture since XRegExp does not allow named capture to use a bare\n // integer as the name.\n // 3. If the name or number does not refer to an existing capturing group, it's\n // an error.\n var n = +bracketed; // Type-convert; drop leading zeros\n\n if (n <= args.length - 3) {\n return args[n] || '';\n } // Groups with the same name is an error, else would need `lastIndexOf`\n\n\n n = captureNames ? captureNames.indexOf(bracketed) : -1;\n\n if (n < 0) {\n throw new SyntaxError('Backreference to undefined group ' + $0);\n }\n\n return args[n + 1] || '';\n } // Else, special variable or numbered backreference without curly braces\n\n\n if (dollarToken === '$') {\n // $$\n return '$';\n }\n\n if (dollarToken === '&' || +dollarToken === 0) {\n // $&, $0 (not followed by 1-9), $00\n return args[0];\n }\n\n if (dollarToken === '`') {\n // $` (left context)\n return args[args.length - 1].slice(0, args[args.length - 2]);\n }\n\n if (dollarToken === \"'\") {\n // $' (right context)\n return args[args.length - 1].slice(args[args.length - 2] + args[0].length);\n } // Else, numbered backreference without braces\n\n\n dollarToken = +dollarToken; // Type-convert; drop leading zero\n // XRegExp behavior for `$n` and `$nn`:\n // - Backrefs end after 1 or 2 digits. Use `${..}` or `$<..>` for more digits.\n // - `$1` is an error if no capturing groups.\n // - `$10` is an error if less than 10 capturing groups. Use `${1}0` or `$<1>0`\n // instead.\n // - `$01` is `$1` if at least one capturing group, else it's an error.\n // - `$0` (not followed by 1-9) and `$00` are the entire match.\n // Native behavior, for comparison:\n // - Backrefs end after 1 or 2 digits. Cannot reference capturing group 100+.\n // - `$1` is a literal `$1` if no capturing groups.\n // - `$10` is `$1` followed by a literal `0` if less than 10 capturing groups.\n // - `$01` is `$1` if at least one capturing group, else it's a literal `$01`.\n // - `$0` is a literal `$0`.\n\n if (!isNaN(dollarToken)) {\n if (dollarToken > args.length - 3) {\n throw new SyntaxError('Backreference to undefined group ' + $0);\n }\n\n return args[dollarToken] || '';\n } // `$` followed by an unsupported char is an error, unlike native JS\n\n\n throw new SyntaxError('Invalid token ' + $0);\n }\n });\n }\n\n if (isRegex) {\n if (search.global) {\n // Fixes IE, Safari bug (last tested IE 9, Safari 5.1)\n search.lastIndex = 0;\n } else {\n // Fixes IE, Opera bug (last tested IE 9, Opera 11.6)\n search.lastIndex = origLastIndex;\n }\n }\n\n return result;\n};\n/**\n * Fixes browser bugs in the native `String.prototype.split`. Use via `XRegExp.split`.\n *\n * @memberOf String\n * @param {RegExp|String} separator Regex or string to use for separating the string.\n * @param {Number} [limit] Maximum number of items to include in the result array.\n * @returns {Array} Array of substrings.\n */\n\n\nfixed.split = function (separator, limit) {\n if (!XRegExp.isRegExp(separator)) {\n // Browsers handle nonregex split correctly, so use the faster native method\n return nativ.split.apply(this, arguments);\n }\n\n var str = String(this);\n var output = [];\n var origLastIndex = separator.lastIndex;\n var lastLastIndex = 0;\n var lastLength = void 0; // Values for `limit`, per the spec:\n // If undefined: pow(2,32) - 1\n // If 0, Infinity, or NaN: 0\n // If positive number: limit = floor(limit); if (limit >= pow(2,32)) limit -= pow(2,32);\n // If negative number: pow(2,32) - floor(abs(limit))\n // If other: Type-convert, then use the above rules\n // This line fails in very strange ways for some values of `limit` in Opera 10.5-10.63, unless\n // Opera Dragonfly is open (go figure). It works in at least Opera 9.5-10.1 and 11+\n\n limit = (limit === undefined ? -1 : limit) >>> 0;\n XRegExp.forEach(str, separator, function (match) {\n // This condition is not the same as `if (match[0].length)`\n if (match.index + match[0].length > lastLastIndex) {\n output.push(str.slice(lastLastIndex, match.index));\n\n if (match.length > 1 && match.index < str.length) {\n Array.prototype.push.apply(output, match.slice(1));\n }\n\n lastLength = match[0].length;\n lastLastIndex = match.index + lastLength;\n }\n });\n\n if (lastLastIndex === str.length) {\n if (!nativ.test.call(separator, '') || lastLength) {\n output.push('');\n }\n } else {\n output.push(str.slice(lastLastIndex));\n }\n\n separator.lastIndex = origLastIndex;\n return output.length > limit ? output.slice(0, limit) : output;\n}; // ==--------------------------==\n// Built-in syntax/flag tokens\n// ==--------------------------==\n\n/*\n * Letter escapes that natively match literal characters: `\\a`, `\\A`, etc. These should be\n * SyntaxErrors but are allowed in web reality. XRegExp makes them errors for cross-browser\n * consistency and to reserve their syntax, but lets them be superseded by addons.\n */\n\n\nXRegExp.addToken(/\\\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\\dA-Fa-f]{4}|{[\\dA-Fa-f]+})|x(?![\\dA-Fa-f]{2}))/, function (match, scope) {\n // \\B is allowed in default scope only\n if (match[1] === 'B' && scope === defaultScope) {\n return match[0];\n }\n\n throw new SyntaxError('Invalid escape ' + match[0]);\n}, {\n scope: 'all',\n leadChar: '\\\\'\n});\n/*\n * Unicode code point escape with curly braces: `\\u{N..}`. `N..` is any one or more digit\n * hexadecimal number from 0-10FFFF, and can include leading zeros. Requires the native ES6 `u` flag\n * to support code points greater than U+FFFF. Avoids converting code points above U+FFFF to\n * surrogate pairs (which could be done without flag `u`), since that could lead to broken behavior\n * if you follow a `\\u{N..}` token that references a code point above U+FFFF with a quantifier, or\n * if you use the same in a character class.\n */\n\nXRegExp.addToken(/\\\\u{([\\dA-Fa-f]+)}/, function (match, scope, flags) {\n var code = dec(match[1]);\n\n if (code > 0x10FFFF) {\n throw new SyntaxError('Invalid Unicode code point ' + match[0]);\n }\n\n if (code <= 0xFFFF) {\n // Converting to \\uNNNN avoids needing to escape the literal character and keep it\n // separate from preceding tokens\n return \"\\\\u\" + pad4(hex(code));\n } // If `code` is between 0xFFFF and 0x10FFFF, require and defer to native handling\n\n\n if (hasNativeU && flags.indexOf('u') !== -1) {\n return match[0];\n }\n\n throw new SyntaxError(\"Cannot use Unicode code point above \\\\u{FFFF} without flag u\");\n}, {\n scope: 'all',\n leadChar: '\\\\'\n});\n/*\n * Empty character class: `[]` or `[^]`. This fixes a critical cross-browser syntax inconsistency.\n * Unless this is standardized (per the ES spec), regex syntax can't be accurately parsed because\n * character class endings can't be determined.\n */\n\nXRegExp.addToken(/\\[(\\^?)\\]/, // For cross-browser compatibility with ES3, convert [] to \\b\\B and [^] to [\\s\\S].\n// (?!) should work like \\b\\B, but is unreliable in some versions of Firefox\n\n/* eslint-disable no-confusing-arrow */\nfunction (match) {\n return match[1] ? '[\\\\s\\\\S]' : '\\\\b\\\\B';\n},\n/* eslint-enable no-confusing-arrow */\n{\n leadChar: '['\n});\n/*\n * Comment pattern: `(?# )`. Inline comments are an alternative to the line comments allowed in\n * free-spacing mode (flag x).\n */\n\nXRegExp.addToken(/\\(\\?#[^)]*\\)/, getContextualTokenSeparator, {\n leadChar: '('\n});\n/*\n * Whitespace and line comments, in free-spacing mode (aka extended mode, flag x) only.\n */\n\nXRegExp.addToken(/\\s+|#[^\\n]*\\n?/, getContextualTokenSeparator, {\n flag: 'x'\n});\n/*\n * Dot, in dotall mode (aka singleline mode, flag s) only.\n */\n\nXRegExp.addToken(/\\./, function () {\n return '[\\\\s\\\\S]';\n}, {\n flag: 's',\n leadChar: '.'\n});\n/*\n * Named backreference: `\\k`. Backreference names can use the characters A-Z, a-z, 0-9, _,\n * and $ only. Also allows numbered backreferences as `\\k`.\n */\n\nXRegExp.addToken(/\\\\k<([\\w$]+)>/, function (match) {\n // Groups with the same name is an error, else would need `lastIndexOf`\n var index = isNaN(match[1]) ? this.captureNames.indexOf(match[1]) + 1 : +match[1];\n var endIndex = match.index + match[0].length;\n\n if (!index || index > this.captureNames.length) {\n throw new SyntaxError('Backreference to undefined group ' + match[0]);\n } // Keep backreferences separate from subsequent literal numbers. This avoids e.g.\n // inadvertedly changing `(?)\\k1` to `()\\11`.\n\n\n return '\\\\' + index + (endIndex === match.input.length || isNaN(match.input[endIndex]) ? '' : '(?:)');\n}, {\n leadChar: '\\\\'\n});\n/*\n * Numbered backreference or octal, plus any following digits: `\\0`, `\\11`, etc. Octals except `\\0`\n * not followed by 0-9 and backreferences to unopened capture groups throw an error. Other matches\n * are returned unaltered. IE < 9 doesn't support backreferences above `\\99` in regex syntax.\n */\n\nXRegExp.addToken(/\\\\(\\d+)/, function (match, scope) {\n if (!(scope === defaultScope && /^[1-9]/.test(match[1]) && +match[1] <= this.captureNames.length) && match[1] !== '0') {\n throw new SyntaxError('Cannot use octal escape or backreference to undefined group ' + match[0]);\n }\n\n return match[0];\n}, {\n scope: 'all',\n leadChar: '\\\\'\n});\n/*\n * Named capturing group; match the opening delimiter only: `(?`. Capture names can use the\n * characters A-Z, a-z, 0-9, _, and $ only. Names can't be integers. Supports Python-style\n * `(?P` as an alternate syntax to avoid issues in some older versions of Opera which natively\n * supported the Python-style syntax. Otherwise, XRegExp might treat numbered backreferences to\n * Python-style named capture as octals.\n */\n\nXRegExp.addToken(/\\(\\?P?<([\\w$]+)>/, function (match) {\n // Disallow bare integers as names because named backreferences are added to match arrays\n // and therefore numeric properties may lead to incorrect lookups\n if (!isNaN(match[1])) {\n throw new SyntaxError('Cannot use integer as capture name ' + match[0]);\n }\n\n if (match[1] === 'length' || match[1] === '__proto__') {\n throw new SyntaxError('Cannot use reserved word as capture name ' + match[0]);\n }\n\n if (this.captureNames.indexOf(match[1]) !== -1) {\n throw new SyntaxError('Cannot use same name for multiple groups ' + match[0]);\n }\n\n this.captureNames.push(match[1]);\n this.hasNamedCapture = true;\n return '(';\n}, {\n leadChar: '('\n});\n/*\n * Capturing group; match the opening parenthesis only. Required for support of named capturing\n * groups. Also adds explicit capture mode (flag n).\n */\n\nXRegExp.addToken(/\\((?!\\?)/, function (match, scope, flags) {\n if (flags.indexOf('n') !== -1) {\n return '(?:';\n }\n\n this.captureNames.push(null);\n return '(';\n}, {\n optionalFlags: 'n',\n leadChar: '('\n});\nexports.default = XRegExp;\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _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\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _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\nfunction _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\nvar sizerStyle = {\n position: 'absolute',\n top: 0,\n left: 0,\n visibility: 'hidden',\n height: 0,\n overflow: 'scroll',\n whiteSpace: 'pre'\n};\nvar INPUT_PROPS_BLACKLIST = ['extraWidth', 'injectStyles', 'inputClassName', 'inputRef', 'inputStyle', 'minWidth', 'onAutosize', 'placeholderIsMinWidth'];\n\nvar cleanInputProps = function cleanInputProps(inputProps) {\n INPUT_PROPS_BLACKLIST.forEach(function (field) {\n return delete inputProps[field];\n });\n return inputProps;\n};\n\nvar copyStyles = function copyStyles(styles, node) {\n node.style.fontSize = styles.fontSize;\n node.style.fontFamily = styles.fontFamily;\n node.style.fontWeight = styles.fontWeight;\n node.style.fontStyle = styles.fontStyle;\n node.style.letterSpacing = styles.letterSpacing;\n node.style.textTransform = styles.textTransform;\n};\n\nvar isIE = typeof window !== 'undefined' && window.navigator ? /MSIE |Trident\\/|Edge\\//.test(window.navigator.userAgent) : false;\n\nvar generateId = function generateId() {\n // we only need an auto-generated ID for stylesheet injection, which is only\n // used for IE. so if the browser is not IE, this should return undefined.\n return isIE ? '_' + Math.random().toString(36).substr(2, 12) : undefined;\n};\n\nvar AutosizeInput = function (_Component) {\n _inherits(AutosizeInput, _Component);\n\n _createClass(AutosizeInput, null, [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props, state) {\n var id = props.id;\n return id !== state.prevId ? {\n inputId: id || generateId(),\n prevId: id\n } : null;\n }\n }]);\n\n function AutosizeInput(props) {\n _classCallCheck(this, AutosizeInput);\n\n var _this = _possibleConstructorReturn(this, (AutosizeInput.__proto__ || Object.getPrototypeOf(AutosizeInput)).call(this, props));\n\n _this.inputRef = function (el) {\n _this.input = el;\n\n if (typeof _this.props.inputRef === 'function') {\n _this.props.inputRef(el);\n }\n };\n\n _this.placeHolderSizerRef = function (el) {\n _this.placeHolderSizer = el;\n };\n\n _this.sizerRef = function (el) {\n _this.sizer = el;\n };\n\n _this.state = {\n inputWidth: props.minWidth,\n inputId: props.id || generateId(),\n prevId: props.id\n };\n return _this;\n }\n\n _createClass(AutosizeInput, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.mounted = true;\n this.copyInputStyles();\n this.updateInputWidth();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n if (prevState.inputWidth !== this.state.inputWidth) {\n if (typeof this.props.onAutosize === 'function') {\n this.props.onAutosize(this.state.inputWidth);\n }\n }\n\n this.updateInputWidth();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.mounted = false;\n }\n }, {\n key: 'copyInputStyles',\n value: function copyInputStyles() {\n if (!this.mounted || !window.getComputedStyle) {\n return;\n }\n\n var inputStyles = this.input && window.getComputedStyle(this.input);\n\n if (!inputStyles) {\n return;\n }\n\n copyStyles(inputStyles, this.sizer);\n\n if (this.placeHolderSizer) {\n copyStyles(inputStyles, this.placeHolderSizer);\n }\n }\n }, {\n key: 'updateInputWidth',\n value: function updateInputWidth() {\n if (!this.mounted || !this.sizer || typeof this.sizer.scrollWidth === 'undefined') {\n return;\n }\n\n var newInputWidth = void 0;\n\n if (this.props.placeholder && (!this.props.value || this.props.value && this.props.placeholderIsMinWidth)) {\n newInputWidth = Math.max(this.sizer.scrollWidth, this.placeHolderSizer.scrollWidth) + 2;\n } else {\n newInputWidth = this.sizer.scrollWidth + 2;\n } // add extraWidth to the detected width. for number types, this defaults to 16 to allow for the stepper UI\n\n\n var extraWidth = this.props.type === 'number' && this.props.extraWidth === undefined ? 16 : parseInt(this.props.extraWidth) || 0;\n newInputWidth += extraWidth;\n\n if (newInputWidth < this.props.minWidth) {\n newInputWidth = this.props.minWidth;\n }\n\n if (newInputWidth !== this.state.inputWidth) {\n this.setState({\n inputWidth: newInputWidth\n });\n }\n }\n }, {\n key: 'getInput',\n value: function getInput() {\n return this.input;\n }\n }, {\n key: 'focus',\n value: function focus() {\n this.input.focus();\n }\n }, {\n key: 'blur',\n value: function blur() {\n this.input.blur();\n }\n }, {\n key: 'select',\n value: function select() {\n this.input.select();\n }\n }, {\n key: 'renderStyles',\n value: function renderStyles() {\n // this method injects styles to hide IE's clear indicator, which messes\n // with input size detection. the stylesheet is only injected when the\n // browser is IE, and can also be disabled by the `injectStyles` prop.\n var injectStyles = this.props.injectStyles;\n return isIE && injectStyles ? _react2.default.createElement('style', {\n dangerouslySetInnerHTML: {\n __html: 'input#' + this.state.inputId + '::-ms-clear {display: none;}'\n }\n }) : null;\n }\n }, {\n key: 'render',\n value: function render() {\n var sizerValue = [this.props.defaultValue, this.props.value, ''].reduce(function (previousValue, currentValue) {\n if (previousValue !== null && previousValue !== undefined) {\n return previousValue;\n }\n\n return currentValue;\n });\n\n var wrapperStyle = _extends({}, this.props.style);\n\n if (!wrapperStyle.display) wrapperStyle.display = 'inline-block';\n\n var inputStyle = _extends({\n boxSizing: 'content-box',\n width: this.state.inputWidth + 'px'\n }, this.props.inputStyle);\n\n var inputProps = _objectWithoutProperties(this.props, []);\n\n cleanInputProps(inputProps);\n inputProps.className = this.props.inputClassName;\n inputProps.id = this.state.inputId;\n inputProps.style = inputStyle;\n return _react2.default.createElement('div', {\n className: this.props.className,\n style: wrapperStyle\n }, this.renderStyles(), _react2.default.createElement('input', _extends({}, inputProps, {\n ref: this.inputRef\n })), _react2.default.createElement('div', {\n ref: this.sizerRef,\n style: sizerStyle\n }, sizerValue), this.props.placeholder ? _react2.default.createElement('div', {\n ref: this.placeHolderSizerRef,\n style: sizerStyle\n }, this.props.placeholder) : null);\n }\n }]);\n\n return AutosizeInput;\n}(_react.Component);\n\nAutosizeInput.propTypes = {\n className: _propTypes2.default.string,\n // className for the outer element\n defaultValue: _propTypes2.default.any,\n // default field value\n extraWidth: _propTypes2.default.oneOfType([// additional width for input element\n _propTypes2.default.number, _propTypes2.default.string]),\n id: _propTypes2.default.string,\n // id to use for the input, can be set for consistent snapshots\n injectStyles: _propTypes2.default.bool,\n // inject the custom stylesheet to hide clear UI, defaults to true\n inputClassName: _propTypes2.default.string,\n // className for the input element\n inputRef: _propTypes2.default.func,\n // ref callback for the input element\n inputStyle: _propTypes2.default.object,\n // css styles for the input element\n minWidth: _propTypes2.default.oneOfType([// minimum width for input element\n _propTypes2.default.number, _propTypes2.default.string]),\n onAutosize: _propTypes2.default.func,\n // onAutosize handler: function(newWidth) {}\n onChange: _propTypes2.default.func,\n // onChange handler: function(event) {}\n placeholder: _propTypes2.default.string,\n // placeholder text\n placeholderIsMinWidth: _propTypes2.default.bool,\n // don't collapse size to less than the placeholder\n style: _propTypes2.default.object,\n // css styles for the outer element\n value: _propTypes2.default.any // field value\n\n};\nAutosizeInput.defaultProps = {\n minWidth: 1,\n injectStyles: true\n};\nexports.default = AutosizeInput;","export function bareLink(badgeUrl: string, link?: string, title = ''): string {\n return badgeUrl\n}\n\nexport function html(badgeUrl: string, link?: string, title?: string): string {\n // To be more robust, this should escape the title.\n const alt = title ? ` alt=\"${title}\"` : ''\n const img = ``\n if (link) {\n return `${img}`\n } else {\n return img\n }\n}\n\nexport function markdown(\n badgeUrl: string,\n link?: string,\n title?: string\n): string {\n const withoutLink = `![${title || ''}](${badgeUrl})`\n if (link) {\n return `[${withoutLink}](${link})`\n } else {\n return withoutLink\n }\n}\n\nexport function reStructuredText(\n badgeUrl: string,\n link?: string,\n title?: string\n): string {\n let result = `.. image:: ${badgeUrl}`\n if (title) {\n result += ` :alt: ${title}`\n }\n if (link) {\n result += ` :target: ${link}`\n }\n return result\n}\n\nfunction quoteAsciiDocAttribute(attr: string | null): string {\n if (attr == null) {\n return 'None'\n } else {\n // String values are prepared and returned to users who want to include their badge\n // in an AsciiDoc document. We're not using the value in any actual processing, so\n // no need to perform proper sanitization. We simply escape quotes, as mandated by\n // http://asciidoc.org/userguide.html#X21\n const withQuotesEscaped = attr.replace(/\"/g, '\\\\\"') // lgtm [js/incomplete-sanitization]\n return `\"${withQuotesEscaped}\"`\n }\n}\n\n// lodash.mapvalues is huge!\nfunction mapValues(\n obj: { [k: string]: string | null },\n iteratee: (value: string | null) => string\n): { [k: string]: string } {\n const result = {} as { [k: string]: string }\n for (const k in obj) {\n result[k] = iteratee(obj[k])\n }\n return result\n}\n\nexport function renderAsciiDocAttributes(\n positional: string[],\n named: { [k: string]: string | null }\n): string {\n // http://asciidoc.org/userguide.html#X21\n const needsQuoting =\n positional.some(attr => attr && attr.includes(',')) ||\n Object.keys(named).length > 0\n\n if (needsQuoting) {\n positional = positional.map(attr => quoteAsciiDocAttribute(attr))\n named = mapValues(named, attr => quoteAsciiDocAttribute(attr))\n }\n\n const items = positional.concat(\n Object.entries(named).map(([k, v]) => `${k}=${v}`)\n )\n\n if (items.length) {\n return `[${items.join(',')}]`\n } else {\n return '[]'\n }\n}\n\nexport function asciiDoc(\n badgeUrl: string,\n link?: string,\n title?: string\n): string {\n const positional = title ? [title] : []\n const named = link ? { link } : ({} as { [k: string]: string })\n const attrs = renderAsciiDocAttributes(positional, named)\n return `image:${badgeUrl}${attrs}`\n}\n\nexport type MarkupFormat = 'markdown' | 'rst' | 'asciidoc' | 'link' | 'html'\n\nexport function generateMarkup({\n badgeUrl,\n link,\n title,\n markupFormat,\n}: {\n badgeUrl: string\n link?: string\n title?: string\n markupFormat: MarkupFormat\n}): string {\n const generatorFn = {\n markdown,\n rst: reStructuredText,\n asciidoc: asciiDoc,\n link: bareLink,\n html,\n }[markupFormat]\n return generatorFn(badgeUrl, link, title)\n}\n","import React from 'react'\nimport styled from 'styled-components'\n\nconst BuilderOuterContainer = styled.div`\n margin-top: 10px;\n margin-bottom: 10px;\n`\n\n// The inner container is inline-block so that its width matches its columns.\nconst BuilderInnerContainer = styled.div`\n display: inline-block;\n\n padding: 1px 14px 10px;\n\n border-radius: 4px;\n background: #eef;\n`\n\nexport function BuilderContainer({\n children,\n}: {\n children: JSX.Element[] | JSX.Element\n}): JSX.Element {\n return (\n \n {children}\n \n )\n}\n\nconst labelFont = `\n font-family: system-ui;\n font-size: 11px;\n`\n\nexport const BuilderLabel = styled.label`\n ${labelFont}\n\n text-transform: lowercase;\n`\n\nexport const BuilderCaption = styled.span`\n ${labelFont}\n\n color: #999;\n`\n","import React, { useState, useEffect, ChangeEvent } from 'react'\nimport styled, { css } from 'styled-components'\nimport { Token, Key, parse } from 'path-to-regexp'\nimport humanizeString from 'humanize-string'\nimport { patternToOptions } from '../../lib/pattern-helpers'\nimport { noAutocorrect, StyledInput } from '../common'\nimport {\n BuilderContainer,\n BuilderLabel,\n BuilderCaption,\n} from './builder-common'\n\ninterface PathBuilderColumnProps {\n pathContainsOnlyLiterals: boolean\n withHorizPadding?: boolean\n}\n\nconst PathBuilderColumn = styled.span`\n height: ${({ pathContainsOnlyLiterals }) =>\n pathContainsOnlyLiterals ? '18px' : '78px'};\n\n float: left;\n display: flex;\n flex-direction: column;\n\n margin: 0;\n\n ${({ withHorizPadding }) =>\n withHorizPadding &&\n css`\n padding: 0 8px;\n `};\n`\n\ninterface PathLiteralProps {\n isFirstToken: boolean\n pathContainsOnlyLiterals: boolean\n}\n\nconst PathLiteral = styled.div`\n margin-top: ${({ pathContainsOnlyLiterals }) =>\n pathContainsOnlyLiterals ? '0px' : '39px'};\n ${({ isFirstToken }) =>\n isFirstToken &&\n css`\n margin-left: 3px;\n `};\n`\n\nconst NamedParamLabelContainer = styled.span`\n display: flex;\n flex-direction: column;\n height: 37px;\n width: 100%;\n justify-content: center;\n`\n\nconst inputStyling = `\n width: 100%;\n text-align: center;\n`\n\n// 2px to align with input boxes alongside.\nconst NamedParamInput = styled(StyledInput)`\n ${inputStyling}\n margin-top: 2px;\n margin-bottom: 10px;\n`\n\nconst NamedParamSelect = styled.select`\n ${inputStyling}\n margin-bottom: 9px;\n font-size: 10px;\n`\n\nconst NamedParamCaption = styled(BuilderCaption)`\n width: 100%;\n text-align: center;\n`\n\nexport function constructPath({\n tokens,\n namedParams,\n}: {\n tokens: Token[]\n namedParams: { [k: string]: string }\n}): { path: string; isComplete: boolean } {\n let isComplete = true\n let path = tokens\n .map(token => {\n if (typeof token === 'string') {\n return token.trim()\n } else {\n const { prefix, name, modifier } = token\n const value = namedParams[name]\n if (value) {\n return `${prefix}${value.trim()}`\n } else if (modifier === '?' || modifier === '*') {\n return ''\n } else {\n isComplete = false\n return `${prefix}:${name}`\n }\n }\n })\n .join('')\n path = encodeURI(path)\n return { path, isComplete }\n}\n\nexport default function PathBuilder({\n pattern,\n exampleParams,\n onChange,\n isPrefilled,\n}: {\n pattern: string\n exampleParams: { [k: string]: string }\n onChange: ({\n path,\n isComplete,\n }: {\n path: string\n isComplete: boolean\n }) => void\n isPrefilled: boolean\n}): JSX.Element {\n const [tokens] = useState(() => parse(pattern))\n const [namedParams, setNamedParams] = useState(() =>\n isPrefilled\n ? exampleParams\n : // `pathToRegexp.parse()` returns a mixed array of strings for literals\n // and objects for parameters. Filter out the literals and work with the\n // objects.\n tokens\n .filter(t => typeof t !== 'string')\n .map(t => t as Key)\n .reduce((accum, { name }) => {\n accum[name] = ''\n return accum\n }, {} as { [k: string]: string })\n )\n\n useEffect(() => {\n // Ensure the default style is applied right away.\n if (onChange) {\n const { path, isComplete } = constructPath({ tokens, namedParams })\n onChange({ path, isComplete })\n }\n }, [tokens, namedParams, onChange])\n\n function handleTokenChange({\n target: { name, value },\n }: ChangeEvent): void {\n setNamedParams({\n ...namedParams,\n [name]: value,\n })\n }\n\n function renderLiteral(\n literal: string,\n tokenIndex: number,\n pathContainsOnlyLiterals: boolean\n ): JSX.Element {\n return (\n \n \n {literal}\n \n \n )\n }\n\n function renderNamedParamInput(token: Key): JSX.Element {\n const { pattern } = token\n const name = `${token.name}`\n const options = patternToOptions(pattern)\n\n const value = namedParams[name]\n\n if (options) {\n return (\n \n \n {options.map(option => (\n \n ))}\n \n )\n } else {\n return (\n \n )\n }\n }\n\n function renderNamedParam(\n token: Key,\n tokenIndex: number,\n namedParamIndex: number\n ): JSX.Element {\n const { prefix, modifier } = token\n const optional = modifier === '?' || modifier === '*'\n const name = `${token.name}`\n\n const exampleValue = exampleParams[name] || '(not set)'\n\n return (\n \n {renderLiteral(prefix, tokenIndex, false)}\n \n \n {humanizeString(name)}\n {optional ? (optional) : null}\n \n {renderNamedParamInput(token)}\n {!isPrefilled && (\n \n {namedParamIndex === 0 ? `e.g. ${exampleValue}` : exampleValue}\n \n )}\n \n \n )\n }\n\n let namedParamIndex = 0\n const pathContainsOnlyLiterals = tokens.every(\n token => typeof token === 'string'\n )\n return (\n \n {tokens.map((token, tokenIndex) =>\n typeof token === 'string'\n ? renderLiteral(token, tokenIndex, pathContainsOnlyLiterals)\n : renderNamedParam(token, tokenIndex, namedParamIndex++)\n )}\n \n )\n}\n","import React, {\n useState,\n useEffect,\n ChangeEvent,\n ChangeEventHandler,\n} from 'react'\nimport styled from 'styled-components'\nimport humanizeString from 'humanize-string'\nimport { stringify as stringifyQueryString } from 'query-string'\nimport { advertisedStyles } from '../../lib/supported-features'\nimport { noAutocorrect, StyledInput } from '../common'\nimport {\n BuilderContainer,\n BuilderLabel,\n BuilderCaption,\n} from './builder-common'\n\nconst QueryParamLabel = styled(BuilderLabel)`\n margin: 5px;\n`\n\nconst QueryParamInput = styled(StyledInput)`\n margin: 5px 10px;\n`\n\nconst QueryParamCaption = styled(BuilderCaption)`\n margin: 5px;\n`\n\ntype BadgeOptionName = 'style' | 'label' | 'color' | 'logo' | 'logoColor'\n\ninterface BadgeOptionInfo {\n name: BadgeOptionName\n label?: string\n shieldsDefaultValue?: string\n}\n\nconst supportedBadgeOptions = [\n { name: 'style', shieldsDefaultValue: 'flat' },\n { name: 'label', label: 'override label' },\n { name: 'color', label: 'override color' },\n { name: 'logo', label: 'named logo' },\n { name: 'logoColor', label: 'override logo color' },\n] as BadgeOptionInfo[]\n\nfunction getBadgeOption(name: BadgeOptionName): BadgeOptionInfo {\n const result = supportedBadgeOptions.find(opt => opt.name === name)\n if (!result) {\n throw Error(`Unknown badge option: ${name}`)\n }\n return result\n}\n\nfunction getQueryString({\n queryParams,\n badgeOptions,\n}: {\n queryParams: Record\n badgeOptions: Record\n}): {\n queryString: string\n isComplete: boolean\n} {\n // Use `string | null`, because `query-string` renders e.g.\n // `{ compact_message: null }` as `?compact_message`. This is\n // what we want for boolean params that are true (see below).\n const outQuery = {} as Record\n let isComplete = true\n\n Object.entries(queryParams).forEach(([name, value]) => {\n // As above, there are two types of supported params: strings and\n // booleans.\n if (typeof value === 'string') {\n if (value) {\n outQuery[name] = value.trim()\n } else {\n // Skip empty params.\n isComplete = false\n }\n } else {\n // Generate empty query params for boolean parameters by translating\n // `{ compact_message: true }` to `?compact_message`. When values are\n // false, skip the param.\n if (value) {\n outQuery[name] = null\n }\n }\n })\n\n Object.entries(badgeOptions).forEach(([name, value]) => {\n const { shieldsDefaultValue } = getBadgeOption(name as BadgeOptionName)\n if (value && value !== shieldsDefaultValue) {\n outQuery[name] = value\n }\n })\n\n const queryString = stringifyQueryString(outQuery)\n\n return { queryString, isComplete }\n}\n\nfunction ServiceQueryParam({\n name,\n value,\n exampleValue,\n isStringParam,\n stringParamCount,\n handleServiceQueryParamChange,\n}: {\n name: string\n value: string | boolean\n exampleValue: string\n isStringParam: boolean\n stringParamCount?: number\n handleServiceQueryParamChange: ChangeEventHandler\n}): JSX.Element {\n return (\n \n \n \n {humanizeString(name).toLowerCase()}\n \n \n \n {isStringParam && (\n \n {stringParamCount === 0 ? `e.g. ${exampleValue}` : exampleValue}\n \n )}\n \n \n {isStringParam ? (\n \n ) : (\n \n )}\n \n \n )\n}\n\nfunction BadgeOptionInput({\n name,\n value,\n handleBadgeOptionChange,\n}: {\n name: BadgeOptionName\n value: string\n handleBadgeOptionChange: ChangeEventHandler<\n HTMLSelectElement | HTMLInputElement\n >\n}): JSX.Element {\n if (name === 'style') {\n return (\n \n )\n } else {\n return (\n \n )\n }\n}\n\nfunction BadgeOption({\n name,\n value,\n handleBadgeOptionChange,\n}: {\n name: BadgeOptionName\n value: string\n handleBadgeOptionChange: ChangeEventHandler\n}): JSX.Element {\n const {\n label = humanizeString(name),\n shieldsDefaultValue: hasShieldsDefaultValue,\n } = getBadgeOption(name)\n return (\n \n \n {label}\n \n \n {!hasShieldsDefaultValue && (\n optional\n )}\n \n \n \n \n \n )\n}\n\n// The UI for building the query string, which includes two kinds of settings:\n// 1. Custom query params defined by the service, stored in\n// `this.state.queryParams`\n// 2. The standard badge options which apply to all badges, stored in\n// `this.state.badgeOptions`\nexport default function QueryStringBuilder({\n exampleParams,\n initialStyle = 'flat',\n onChange,\n}: {\n exampleParams: { [k: string]: string }\n initialStyle?: string\n onChange: ({\n queryString,\n isComplete,\n }: {\n queryString: string\n isComplete: boolean\n }) => void\n}): JSX.Element {\n const [queryParams, setQueryParams] = useState(() =>\n // For each of the custom query params defined in `exampleParams`,\n // create empty values in `queryParams`.\n Object.entries(exampleParams)\n .filter(\n // If the example defines a value for one of the standard supported\n // options, do not duplicate the corresponding parameter.\n ([name]) => !supportedBadgeOptions.some(option => name === option.name)\n )\n .reduce((accum, [name, value]) => {\n // Custom query params are either string or boolean. Inspect the example\n // value to infer which one, and set empty values accordingly.\n // Throughout the component, these two types are supported in the same\n // manner: by inspecting this value type.\n const isStringParam = typeof value === 'string'\n accum[name] = isStringParam ? '' : true\n return accum\n }, {} as { [k: string]: string | boolean })\n )\n // For each of the standard badge options, create empty values in\n // `badgeOptions`. When `initialStyle` has been provided, use it.\n const [badgeOptions, setBadgeOptions] = useState(() =>\n supportedBadgeOptions.reduce((accum, { name }) => {\n if (name === 'style') {\n accum[name] = initialStyle\n } else {\n accum[name] = ''\n }\n return accum\n }, {} as Record)\n )\n\n function handleServiceQueryParamChange({\n target: { name, type: targetType, checked, value },\n }: ChangeEvent): void {\n const outValue = targetType === 'checkbox' ? checked : value\n setQueryParams({ ...queryParams, [name]: outValue })\n }\n\n function handleBadgeOptionChange({\n target: { name, value },\n }: ChangeEvent): void {\n setBadgeOptions({ ...badgeOptions, [name]: value })\n }\n\n useEffect(() => {\n if (onChange) {\n const { queryString, isComplete } = getQueryString({\n queryParams,\n badgeOptions,\n })\n onChange({ queryString, isComplete })\n }\n }, [onChange, queryParams, badgeOptions])\n\n const hasQueryParams = Boolean(Object.keys(queryParams).length)\n let stringParamCount = 0\n return (\n <>\n {hasQueryParams && (\n \n \n \n {Object.entries(queryParams).map(([name, value]) => {\n const isStringParam = typeof value === 'string'\n return (\n \n )\n })}\n \n
\n
\n )}\n \n \n \n {Object.entries(badgeOptions).map(([name, value]) => (\n \n ))}\n \n
\n
\n \n )\n}\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n before = _this.prepend ? _this.container.firstChild : _this.before;\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-ms-input-placeholder|-moz-read-write|-moz-read-only){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs;\n/**\n * @param {number}\n * @return {string}\n */\n\nexport var from = String.fromCharCode;\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\n\nexport function hash(value, length) {\n return (((length << 2 ^ charat(value, 0)) << 2 ^ charat(value, 1)) << 2 ^ charat(value, 2)) << 2 ^ charat(value, 3);\n}\n/**\n * @param {string} value\n * @return {string}\n */\n\nexport function trim(value) {\n return value.trim();\n}\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\n\nexport function match(value, pattern) {\n return (value = pattern.exec(value)) ? value[0] : value;\n}\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\n\nexport function replace(value, pattern, replacement) {\n return value.replace(pattern, replacement);\n}\n/**\n * @param {string} value\n * @param {string} value\n * @return {number}\n */\n\nexport function indexof(value, search) {\n return value.indexOf(search);\n}\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\n\nexport function charat(value, index) {\n return value.charCodeAt(index) | 0;\n}\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\n\nexport function substr(value, begin, end) {\n return value.slice(begin, end);\n}\n/**\n * @param {string} value\n * @return {number}\n */\n\nexport function strlen(value) {\n return value.length;\n}\n/**\n * @param {any[]} value\n * @return {number}\n */\n\nexport function sizeof(value) {\n return value.length;\n}\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\n\nexport function append(value, array) {\n return array.push(value), value;\n}\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\n\nexport function combine(array, callback) {\n return array.map(callback).join('');\n}","import { from, trim, charat, strlen, substr, append } from './Utility.js';\nexport var line = 1;\nexport var column = 1;\nexport var length = 0;\nexport var position = 0;\nexport var character = 0;\nexport var characters = '';\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string} type\n * @param {string[]} props\n * @param {object[]} children\n * @param {number} length\n */\n\nexport function node(value, root, parent, type, props, children, length) {\n return {\n value: value,\n root: root,\n parent: parent,\n type: type,\n props: props,\n children: children,\n line: line,\n column: column,\n length: length,\n return: ''\n };\n}\n/**\n * @param {string} value\n * @param {object} root\n * @param {string} type\n */\n\nexport function copy(value, root, type) {\n return node(value, root.root, root.parent, type, root.props, root.children, 0);\n}\n/**\n * @return {number}\n */\n\nexport function char() {\n return character;\n}\n/**\n * @return {number}\n */\n\nexport function prev() {\n character = position > 0 ? charat(characters, --position) : 0;\n if (column--, character === 10) column = 1, line--;\n return character;\n}\n/**\n * @return {number}\n */\n\nexport function next() {\n character = position < length ? charat(characters, position++) : 0;\n if (column++, character === 10) column = 1, line++;\n return character;\n}\n/**\n * @return {number}\n */\n\nexport function peek() {\n return charat(characters, position);\n}\n/**\n * @return {number}\n */\n\nexport function caret() {\n return position;\n}\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\n\nexport function slice(begin, end) {\n return substr(characters, begin, end);\n}\n/**\n * @param {number} type\n * @return {number}\n */\n\nexport function token(type) {\n switch (type) {\n // \\0 \\t \\n \\r \\s whitespace token\n case 0:\n case 9:\n case 10:\n case 13:\n case 32:\n return 5;\n // ! + , / > @ ~ isolate token\n\n case 33:\n case 43:\n case 44:\n case 47:\n case 62:\n case 64:\n case 126: // ; { } / breakpoint token\n\n case 59:\n case 123:\n case 125:\n return 4;\n // : accompanied token\n\n case 58:\n return 3;\n // \" ' ( [ opening delimit token\n\n case 34:\n case 39:\n case 40:\n case 91:\n return 2;\n // ) ] closing delimit token\n\n case 41:\n case 93:\n return 1;\n }\n\n return 0;\n}\n/**\n * @param {string} value\n * @return {any[]}\n */\n\nexport function alloc(value) {\n return line = column = 1, length = strlen(characters = value), position = 0, [];\n}\n/**\n * @param {any} value\n * @return {any}\n */\n\nexport function dealloc(value) {\n return characters = '', value;\n}\n/**\n * @param {number} type\n * @return {string}\n */\n\nexport function delimit(type) {\n return trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)));\n}\n/**\n * @param {string} value\n * @return {string[]}\n */\n\nexport function tokenize(value) {\n return dealloc(tokenizer(alloc(value)));\n}\n/**\n * @param {number} type\n * @return {string}\n */\n\nexport function whitespace(type) {\n while (character = peek()) {\n if (character < 33) next();else break;\n }\n\n return token(type) > 2 || token(character) > 3 ? '' : ' ';\n}\n/**\n * @param {string[]} children\n * @return {string[]}\n */\n\nexport function tokenizer(children) {\n while (next()) {\n switch (token(character)) {\n case 0:\n append(identifier(position - 1), children);\n break;\n\n case 2:\n append(delimit(character), children);\n break;\n\n default:\n append(from(character), children);\n }\n }\n\n return children;\n}\n/**\n * @param {number} type\n * @return {number}\n */\n\nexport function delimiter(type) {\n while (next()) {\n switch (character) {\n // ] ) \" '\n case type:\n return position;\n // \" '\n\n case 34:\n case 39:\n return delimiter(type === 34 || type === 39 ? type : character);\n // (\n\n case 40:\n if (type === 41) delimiter(type);\n break;\n // \\\n\n case 92:\n next();\n break;\n }\n }\n\n return position;\n}\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\n\nexport function commenter(type, index) {\n while (next()) {\n // //\n if (type + character === 47 + 10) break; // /*\n else if (type + character === 42 + 42 && peek() === 47) break;\n }\n\n return '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next());\n}\n/**\n * @param {number} index\n * @return {string}\n */\n\nexport function identifier(index) {\n while (!token(peek())) {\n next();\n }\n\n return slice(index, position);\n}","export var MS = '-ms-';\nexport var MOZ = '-moz-';\nexport var WEBKIT = '-webkit-';\nexport var COMMENT = 'comm';\nexport var RULESET = 'rule';\nexport var DECLARATION = 'decl';\nexport var PAGE = '@page';\nexport var MEDIA = '@media';\nexport var IMPORT = '@import';\nexport var CHARSET = '@charset';\nexport var VIEWPORT = '@viewport';\nexport var SUPPORTS = '@supports';\nexport var DOCUMENT = '@document';\nexport var NAMESPACE = '@namespace';\nexport var KEYFRAMES = '@keyframes';\nexport var FONT_FACE = '@font-face';\nexport var COUNTER_STYLE = '@counter-style';\nexport var FONT_FEATURE_VALUES = '@font-feature-values';","import { IMPORT, COMMENT, RULESET, DECLARATION } from './Enum.js';\nimport { strlen, sizeof } from './Utility.js';\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\n\nexport function serialize(children, callback) {\n var output = '';\n var length = sizeof(children);\n\n for (var i = 0; i < length; i++) {\n output += callback(children[i], i, children, callback) || '';\n }\n\n return output;\n}\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\n\nexport function stringify(element, index, children, callback) {\n switch (element.type) {\n case IMPORT:\n case DECLARATION:\n return element.return = element.return || element.value;\n\n case COMMENT:\n return '';\n\n case RULESET:\n element.value = element.props.join(',');\n }\n\n return strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : '';\n}","import { MS, MOZ, WEBKIT } from './Enum.js';\nimport { hash, charat, strlen, indexof, replace } from './Utility.js';\n/**\n * @param {string} value\n * @param {number} length\n * @return {string}\n */\n\nexport function prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}","import { COMMENT, RULESET, DECLARATION } from './Enum.js';\nimport { abs, trim, from, sizeof, strlen, substr, append, replace } from './Utility.js';\nimport { node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, identifier, commenter } from './Tokenizer.js';\n/**\n * @param {string} value\n * @return {object[]}\n */\n\nexport function compile(value) {\n return dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value));\n}\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\n\nexport function parse(value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n var index = 0;\n var offset = 0;\n var length = pseudo;\n var atrule = 0;\n var property = 0;\n var previous = 0;\n var variable = 1;\n var scanning = 1;\n var ampersand = 1;\n var character = 0;\n var type = '';\n var props = rules;\n var children = rulesets;\n var reference = rule;\n var characters = type;\n\n while (scanning) {\n switch (previous = character, character = next()) {\n // \" ' [ (\n case 34:\n case 39:\n case 91:\n case 40:\n characters += delimit(character);\n break;\n // \\t \\n \\r \\s\n\n case 9:\n case 10:\n case 13:\n case 32:\n characters += whitespace(previous);\n break;\n // /\n\n case 47:\n switch (peek()) {\n case 42:\n case 47:\n append(comment(commenter(next(), caret()), root, parent), declarations);\n break;\n\n default:\n characters += '/';\n }\n\n break;\n // {\n\n case 123 * variable:\n points[index++] = strlen(characters) * ampersand;\n // } ; \\0\n\n case 125 * variable:\n case 59:\n case 0:\n switch (character) {\n // \\0 }\n case 0:\n case 125:\n scanning = 0;\n // ;\n\n case 59 + offset:\n if (property > 0 && strlen(characters) - length) append(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations);\n break;\n // @ ;\n\n case 59:\n characters += ';';\n // { rule/at-rule\n\n default:\n append(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets);\n if (character === 123) if (offset === 0) parse(characters, root, reference, reference, props, rulesets, length, points, children);else switch (atrule) {\n // d m s\n case 100:\n case 109:\n case 115:\n parse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children);\n break;\n\n default:\n parse(characters, reference, reference, reference, [''], children, length, points, children);\n }\n }\n\n index = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo;\n break;\n // :\n\n case 58:\n length = 1 + strlen(characters), property = previous;\n\n default:\n if (variable < 1) {\n if (character == 123) {\n --variable;\n } else if (character == 125 && variable++ == 0 && prev() == 125) {\n continue;\n }\n }\n\n switch (characters += from(character), character * variable) {\n // &\n case 38:\n ampersand = offset > 0 ? 1 : (characters += '\\f', -1);\n break;\n // ,\n\n case 44:\n points[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1;\n break;\n // @\n\n case 64:\n // -\n if (peek() === 45) characters += delimit(next());\n atrule = peek(), offset = strlen(type = characters += identifier(caret())), character++;\n break;\n // -\n\n case 45:\n if (previous === 45 && strlen(characters) == 2) variable = 0;\n }\n\n }\n }\n\n return rulesets;\n}\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\n\nexport function ruleset(value, root, parent, index, offset, rules, points, type, props, children, length) {\n var post = offset - 1;\n var rule = offset === 0 ? rules : [''];\n var size = sizeof(rule);\n\n for (var i = 0, j = 0, k = 0; i < index; ++i) {\n for (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x) {\n if (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x]))) props[k++] = z;\n }\n }\n\n return node(value, root, parent, offset === 0 ? RULESET : type, props, children, length);\n}\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\n\nexport function comment(value, root, parent) {\n return node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0);\n}\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\n\nexport function declaration(value, root, parent, length) {\n return node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length);\n}","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, identifier, position, stringify, COMMENT, rulesheet, middleware, prefixer, serialize, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar last = function last(arr) {\n return arr.length ? arr[arr.length - 1] : null;\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifier(position - 1);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\n\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // .length indicates if this rule contains pseudo or not\n !element.length) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\n\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\n\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return !!element && element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule') return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses && cache.compat !== true) {\n var prevElement = index > 0 ? children[index - 1] : null;\n\n if (prevElement && isIgnoringComment(last(prevElement.children))) {\n return;\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {}; // $FlowFixMe\n\n var container;\n var nodesToHydrate = [];\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;","import { MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION } from './Enum.js';\nimport { match, charat, substr, strlen, sizeof, replace, combine } from './Utility.js';\nimport { copy, tokenize } from './Tokenizer.js';\nimport { serialize } from './Serializer.js';\nimport { prefix } from './Prefixer.js';\n/**\n * @param {function[]} collection\n * @return {function}\n */\n\nexport function middleware(collection) {\n var length = sizeof(collection);\n return function (element, index, children, callback) {\n var output = '';\n\n for (var i = 0; i < length; i++) {\n output += collection[i](element, index, children, callback) || '';\n }\n\n return output;\n };\n}\n/**\n * @param {function} callback\n * @return {function}\n */\n\nexport function rulesheet(callback) {\n return function (element) {\n if (!element.root) if (element = element.return) callback(element);\n };\n}\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\n\nexport function prefixer(element, index, children, callback) {\n if (!element.return) switch (element.type) {\n case DECLARATION:\n element.return = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(replace(element.value, '@', '@' + WEBKIT), element, '')], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(replace(value, /:(read-\\w+)/, ':' + MOZ + '$1'), element, '')], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1'), element, ''), copy(replace(value, /:(plac\\w+)/, ':' + MOZ + '$1'), element, ''), copy(replace(value, /:(plac\\w+)/, MS + 'input-$1'), element, '')], callback);\n }\n\n return '';\n });\n }\n}\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\n\nexport function namespace(element) {\n switch (element.type) {\n case RULESET:\n element.props = element.props.map(function (value) {\n return combine(tokenize(value), function (value, index, children) {\n switch (charat(value, 0)) {\n // \\f\n case 12:\n return substr(value, 1, strlen(value));\n // \\0 ( + > ~\n\n case 0:\n case 40:\n case 43:\n case 62:\n case 126:\n return value;\n // :\n\n case 58:\n if (children[++index] === 'global') children[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1);\n // \\s\n\n case 32:\n return index === 1 ? '' : value;\n\n default:\n switch (index) {\n case 0:\n element = value;\n return sizeof(children) > 1 ? '' : value;\n\n case index = sizeof(children) - 1:\n case 2:\n return index === 2 ? value + element + element : value + element;\n\n default:\n return value;\n }\n\n }\n });\n });\n }\n}","var isBrowser = \"object\" !== 'undefined';\n\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\n\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles };","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(attr|calc|counters?|url)\\(/;\n var contentValues = ['normal', 'none', 'counter', 'open-quote', 'close-quote', 'no-open-quote', 'no-close-quote', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*;/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\n\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };","import { createContext, forwardRef, useContext, createElement } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../isolated-hoist-non-react-statics-do-not-use-this-in-your-code/dist/emotion-react-isolated-hoist-non-react-statics-do-not-use-this-in-your-code.browser.esm.js';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar EmotionCacheContext = /* #__PURE__ */createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\nvar CacheProvider = EmotionCacheContext.Provider;\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */createContext({});\n\nvar useTheme = function useTheme() {\n return useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, {}, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\n\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\n\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = useContext(ThemeContext);\n return /*#__PURE__*/createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n} // thus we only need to replace what is a valid character for JS, but not for CSS\n\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\n\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type;\n\n if (process.env.NODE_ENV !== 'production') {\n var error = new Error();\n\n if (error.stack) {\n // chrome\n var match = error.stack.match(/at (?:Object\\.|Module\\.|)(?:jsx|createEmotionProps).*\\n\\s+at (?:Object\\.|)([A-Z][A-Za-z0-9$]+) /);\n\n if (!match) {\n // safari and firefox\n match = error.stack.match(/.*\\n([A-Z][A-Za-z0-9$]+)@/);\n }\n\n if (match) {\n newProps[labelPropName] = sanitizeIdentifier(match[1]);\n }\n }\n }\n\n return newProps;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var type = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, typeof cssProp === 'function' || Array.isArray(cssProp) ? useContext(ThemeContext) : undefined);\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n var rules = insertStyles(cache, serialized, typeof type === 'string');\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n var ele = /*#__PURE__*/createElement(type, newProps);\n return ele;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, useTheme as u, withEmotionCache as w };","import { createElement, useContext, useRef, useLayoutEffect } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-4fbd89c5.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-4fbd89c5.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport 'hoist-non-react-statics';\nimport '../isolated-hoist-non-react-statics-do-not-use-this-in-your-code/dist/emotion-react-isolated-hoist-non-react-statics-do-not-use-this-in-your-code.browser.esm.js';\nimport { insertStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { StyleSheet } from '@emotion/sheet';\nvar pkg = {\n name: \"@emotion/react\",\n version: \"11.1.5\",\n main: \"dist/emotion-react.cjs.js\",\n module: \"dist/emotion-react.esm.js\",\n browser: {\n \"./dist/emotion-react.cjs.js\": \"./dist/emotion-react.browser.cjs.js\",\n \"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n },\n types: \"types/index.d.ts\",\n files: [\"src\", \"dist\", \"jsx-runtime\", \"jsx-dev-runtime\", \"isolated-hoist-non-react-statics-do-not-use-this-in-your-code\", \"types/*.d.ts\", \"macro.js\", \"macro.d.ts\", \"macro.js.flow\"],\n sideEffects: false,\n author: \"mitchellhamilton \",\n license: \"MIT\",\n scripts: {\n \"test:typescript\": \"dtslint types\"\n },\n dependencies: {\n \"@babel/runtime\": \"^7.7.2\",\n \"@emotion/cache\": \"^11.1.3\",\n \"@emotion/serialize\": \"^1.0.0\",\n \"@emotion/sheet\": \"^1.0.1\",\n \"@emotion/utils\": \"^1.0.0\",\n \"@emotion/weak-memoize\": \"^0.2.5\",\n \"hoist-non-react-statics\": \"^3.3.1\"\n },\n peerDependencies: {\n \"@babel/core\": \"^7.0.0\",\n react: \">=16.8.0\"\n },\n peerDependenciesMeta: {\n \"@babel/core\": {\n optional: true\n },\n \"@types/react\": {\n optional: true\n }\n },\n devDependencies: {\n \"@babel/core\": \"^7.7.2\",\n \"@emotion/css\": \"11.1.3\",\n \"@emotion/css-prettifier\": \"1.0.0\",\n \"@emotion/server\": \"11.0.0\",\n \"@emotion/styled\": \"11.1.5\",\n \"@types/react\": \"^16.9.11\",\n dtslint: \"^0.3.0\",\n \"html-tag-names\": \"^1.1.2\",\n react: \"16.14.0\",\n \"svg-tag-names\": \"^1.1.1\"\n },\n repository: \"https://github.com/emotion-js/emotion/tree/master/packages/react\",\n publishConfig: {\n access: \"public\"\n },\n \"umd:main\": \"dist/emotion-react.umd.min.js\",\n preconstruct: {\n entrypoints: [\"./index.js\", \"./jsx-runtime.js\", \"./jsx-dev-runtime.js\", \"./isolated-hoist-non-react-statics-do-not-use-this-in-your-code.js\"],\n umdName: \"emotionReact\"\n }\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, typeof styles === 'function' || Array.isArray(styles) ? useContext(ThemeContext) : undefined); // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n var sheetRef = useRef();\n useLayoutEffect(function () {\n var key = cache.key + \"-global\";\n var sheet = new StyleSheet({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n }); // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n sheet.hydrate([node]);\n }\n\n sheetRef.current = sheet;\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useLayoutEffect(function () {\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n var sheet = sheetRef.current;\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n {\n insertStyles(cache, serialized, false);\n }\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return ele;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727 for some reason Jest evaluates modules twice if some consuming module gets mocked with jest.mock\n\n var isJest = typeof jest !== 'undefined';\n\n if (isBrowser && !isJest) {\n var globalContext = isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };","import objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"@babel/runtime/helpers/esm/setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { jsx, keyframes, css as css$2, ClassNames } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _typeof from '@babel/runtime/helpers/esm/typeof';\nimport AutosizeInput from 'react-input-autosize';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _defineProperty$1 from '@babel/runtime/helpers/esm/defineProperty';\nimport { createContext, Component } from 'react';\nimport { createPortal } from 'react-dom';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n 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\n return target;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n} // ==============================\n// NO OP\n// ==============================\n\n\nvar noop = function noop() {}; // Class Name Prefixer\n// ==============================\n\n/**\n String representation of component state for styling with class names.\n\n Expects an array of strings OR a string/object pair:\n - className(['comp', 'comp-arg', 'comp-arg-2'])\n @returns 'react-select__comp react-select__comp-arg react-select__comp-arg-2'\n - className('comp', { some: true, state: false })\n @returns 'react-select__comp react-select__comp--some'\n*/\n\n\nfunction applyPrefixToName(prefix, name) {\n if (!name) {\n return prefix;\n } else if (name[0] === '-') {\n return prefix + name;\n } else {\n return prefix + '__' + name;\n }\n}\n\nfunction classNames(prefix, state, className) {\n var arr = [className];\n\n if (state && prefix) {\n for (var key in state) {\n if (state.hasOwnProperty(key) && state[key]) {\n arr.push(\"\".concat(applyPrefixToName(prefix, key)));\n }\n }\n }\n\n return arr.filter(function (i) {\n return i;\n }).map(function (i) {\n return String(i).trim();\n }).join(' ');\n} // ==============================\n// Clean Value\n// ==============================\n\n\nvar cleanValue = function cleanValue(value) {\n if (Array.isArray(value)) return value.filter(Boolean);\n if (_typeof(value) === 'object' && value !== null) return [value];\n return [];\n}; // ==============================\n// Clean Common Props\n// ==============================\n\n\nvar cleanCommonProps = function cleanCommonProps(props) {\n //className\n props.className;\n props.clearValue;\n props.cx;\n props.getStyles;\n props.getValue;\n props.hasValue;\n props.isMulti;\n props.isRtl;\n props.options;\n props.selectOption;\n props.selectProps;\n props.setValue;\n props.theme;\n\n var innerProps = _objectWithoutProperties(props, [\"className\", \"clearValue\", \"cx\", \"getStyles\", \"getValue\", \"hasValue\", \"isMulti\", \"isRtl\", \"options\", \"selectOption\", \"selectProps\", \"setValue\", \"theme\"]);\n\n return _objectSpread2({}, innerProps);\n}; // ==============================\n// Handle Input Change\n// ==============================\n\n\nfunction handleInputChange(inputValue, actionMeta, onInputChange) {\n if (onInputChange) {\n var newValue = onInputChange(inputValue, actionMeta);\n if (typeof newValue === 'string') return newValue;\n }\n\n return inputValue;\n} // ==============================\n// Scroll Helpers\n// ==============================\n\n\nfunction isDocumentElement(el) {\n return [document.documentElement, document.body, window].indexOf(el) > -1;\n} // Normalized Scroll Top\n// ------------------------------\n\n\nfunction getScrollTop(el) {\n if (isDocumentElement(el)) {\n return window.pageYOffset;\n }\n\n return el.scrollTop;\n}\n\nfunction scrollTo(el, top) {\n // with a scroll distance, we perform scroll on the element\n if (isDocumentElement(el)) {\n window.scrollTo(0, top);\n return;\n }\n\n el.scrollTop = top;\n} // Get Scroll Parent\n// ------------------------------\n\n\nfunction getScrollParent(element) {\n var style = getComputedStyle(element);\n var excludeStaticParent = style.position === 'absolute';\n var overflowRx = /(auto|scroll)/;\n var docEl = document.documentElement; // suck it, flow...\n\n if (style.position === 'fixed') return docEl;\n\n for (var parent = element; parent = parent.parentElement;) {\n style = getComputedStyle(parent);\n\n if (excludeStaticParent && style.position === 'static') {\n continue;\n }\n\n if (overflowRx.test(style.overflow + style.overflowY + style.overflowX)) {\n return parent;\n }\n }\n\n return docEl;\n} // Animated Scroll To\n// ------------------------------\n\n/**\n @param t: time (elapsed)\n @param b: initial value\n @param c: amount of change\n @param d: duration\n*/\n\n\nfunction easeOutCubic(t, b, c, d) {\n return c * ((t = t / d - 1) * t * t + 1) + b;\n}\n\nfunction animatedScrollTo(element, to) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 200;\n var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : noop;\n var start = getScrollTop(element);\n var change = to - start;\n var increment = 10;\n var currentTime = 0;\n\n function animateScroll() {\n currentTime += increment;\n var val = easeOutCubic(currentTime, start, change, duration);\n scrollTo(element, val);\n\n if (currentTime < duration) {\n window.requestAnimationFrame(animateScroll);\n } else {\n callback(element);\n }\n }\n\n animateScroll();\n} // Scroll Into View\n// ------------------------------\n\n\nfunction scrollIntoView(menuEl, focusedEl) {\n var menuRect = menuEl.getBoundingClientRect();\n var focusedRect = focusedEl.getBoundingClientRect();\n var overScroll = focusedEl.offsetHeight / 3;\n\n if (focusedRect.bottom + overScroll > menuRect.bottom) {\n scrollTo(menuEl, Math.min(focusedEl.offsetTop + focusedEl.clientHeight - menuEl.offsetHeight + overScroll, menuEl.scrollHeight));\n } else if (focusedRect.top - overScroll < menuRect.top) {\n scrollTo(menuEl, Math.max(focusedEl.offsetTop - overScroll, 0));\n }\n} // ==============================\n// Get bounding client object\n// ==============================\n// cannot get keys using array notation with DOMRect\n\n\nfunction getBoundingClientObj(element) {\n var rect = element.getBoundingClientRect();\n return {\n bottom: rect.bottom,\n height: rect.height,\n left: rect.left,\n right: rect.right,\n top: rect.top,\n width: rect.width\n };\n} // Touch Capability Detector\n// ==============================\n\n\nfunction isTouchCapable() {\n try {\n document.createEvent('TouchEvent');\n return true;\n } catch (e) {\n return false;\n }\n} // ==============================\n// Mobile Device Detector\n// ==============================\n\n\nfunction isMobileDevice() {\n try {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n } catch (e) {\n return false;\n }\n} // ==============================\n// Passive Event Detector\n// ==============================\n// https://github.com/rafgraph/detect-it/blob/main/src/index.ts#L19-L36\n\n\nvar passiveOptionAccessed = false;\nvar options = {\n get passive() {\n return passiveOptionAccessed = true;\n }\n\n}; // check for SSR\n\nvar w = typeof window !== 'undefined' ? window : {};\n\nif (w.addEventListener && w.removeEventListener) {\n w.addEventListener('p', noop, options);\n w.removeEventListener('p', noop, false);\n}\n\nvar supportsPassiveEvents = passiveOptionAccessed;\n\nfunction getMenuPlacement(_ref) {\n var maxHeight = _ref.maxHeight,\n menuEl = _ref.menuEl,\n minHeight = _ref.minHeight,\n placement = _ref.placement,\n shouldScroll = _ref.shouldScroll,\n isFixedPosition = _ref.isFixedPosition,\n theme = _ref.theme;\n var spacing = theme.spacing;\n var scrollParent = getScrollParent(menuEl);\n var defaultState = {\n placement: 'bottom',\n maxHeight: maxHeight\n }; // something went wrong, return default state\n\n if (!menuEl || !menuEl.offsetParent) return defaultState; // we can't trust `scrollParent.scrollHeight` --> it may increase when\n // the menu is rendered\n\n var _scrollParent$getBoun = scrollParent.getBoundingClientRect(),\n scrollHeight = _scrollParent$getBoun.height;\n\n var _menuEl$getBoundingCl = menuEl.getBoundingClientRect(),\n menuBottom = _menuEl$getBoundingCl.bottom,\n menuHeight = _menuEl$getBoundingCl.height,\n menuTop = _menuEl$getBoundingCl.top;\n\n var _menuEl$offsetParent$ = menuEl.offsetParent.getBoundingClientRect(),\n containerTop = _menuEl$offsetParent$.top;\n\n var viewHeight = window.innerHeight;\n var scrollTop = getScrollTop(scrollParent);\n var marginBottom = parseInt(getComputedStyle(menuEl).marginBottom, 10);\n var marginTop = parseInt(getComputedStyle(menuEl).marginTop, 10);\n var viewSpaceAbove = containerTop - marginTop;\n var viewSpaceBelow = viewHeight - menuTop;\n var scrollSpaceAbove = viewSpaceAbove + scrollTop;\n var scrollSpaceBelow = scrollHeight - scrollTop - menuTop;\n var scrollDown = menuBottom - viewHeight + scrollTop + marginBottom;\n var scrollUp = scrollTop + menuTop - marginTop;\n var scrollDuration = 160;\n\n switch (placement) {\n case 'auto':\n case 'bottom':\n // 1: the menu will fit, do nothing\n if (viewSpaceBelow >= menuHeight) {\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n } // 2: the menu will fit, if scrolled\n\n\n if (scrollSpaceBelow >= menuHeight && !isFixedPosition) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n }\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n } // 3: the menu will fit, if constrained\n\n\n if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n } // we want to provide as much of the menu as possible to the user,\n // so give them whatever is available below rather than the minHeight.\n\n\n var constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom;\n return {\n placement: 'bottom',\n maxHeight: constrainedHeight\n };\n } // 4. Forked beviour when there isn't enough space below\n // AUTO: flip the menu, render above\n\n\n if (placement === 'auto' || isFixedPosition) {\n // may need to be constrained after flipping\n var _constrainedHeight = maxHeight;\n var spaceAbove = isFixedPosition ? viewSpaceAbove : scrollSpaceAbove;\n\n if (spaceAbove >= minHeight) {\n _constrainedHeight = Math.min(spaceAbove - marginBottom - spacing.controlHeight, maxHeight);\n }\n\n return {\n placement: 'top',\n maxHeight: _constrainedHeight\n };\n } // BOTTOM: allow browser to increase scrollable area and immediately set scroll\n\n\n if (placement === 'bottom') {\n if (shouldScroll) {\n scrollTo(scrollParent, scrollDown);\n }\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n }\n\n break;\n\n case 'top':\n // 1: the menu will fit, do nothing\n if (viewSpaceAbove >= menuHeight) {\n return {\n placement: 'top',\n maxHeight: maxHeight\n };\n } // 2: the menu will fit, if scrolled\n\n\n if (scrollSpaceAbove >= menuHeight && !isFixedPosition) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n }\n\n return {\n placement: 'top',\n maxHeight: maxHeight\n };\n } // 3: the menu will fit, if constrained\n\n\n if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n var _constrainedHeight2 = maxHeight; // we want to provide as much of the menu as possible to the user,\n // so give them whatever is available below rather than the minHeight.\n\n if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n _constrainedHeight2 = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop;\n }\n\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n }\n\n return {\n placement: 'top',\n maxHeight: _constrainedHeight2\n };\n } // 4. not enough space, the browser WILL NOT increase scrollable area when\n // absolutely positioned element rendered above the viewport (only below).\n // Flip the menu, render below\n\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n\n default:\n throw new Error(\"Invalid placement provided \\\"\".concat(placement, \"\\\".\"));\n } // fulfil contract with flow: implicit return value of undefined\n\n\n return defaultState;\n} // Menu Component\n// ------------------------------\n\n\nfunction alignToControl(placement) {\n var placementToCSSProp = {\n bottom: 'top',\n top: 'bottom'\n };\n return placement ? placementToCSSProp[placement] : 'bottom';\n}\n\nvar coercePlacement = function coercePlacement(p) {\n return p === 'auto' ? 'bottom' : p;\n};\n\nvar menuCSS = function menuCSS(_ref2) {\n var _ref3;\n\n var placement = _ref2.placement,\n _ref2$theme = _ref2.theme,\n borderRadius = _ref2$theme.borderRadius,\n spacing = _ref2$theme.spacing,\n colors = _ref2$theme.colors;\n return _ref3 = {\n label: 'menu'\n }, _defineProperty$1(_ref3, alignToControl(placement), '100%'), _defineProperty$1(_ref3, \"backgroundColor\", colors.neutral0), _defineProperty$1(_ref3, \"borderRadius\", borderRadius), _defineProperty$1(_ref3, \"boxShadow\", '0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)'), _defineProperty$1(_ref3, \"marginBottom\", spacing.menuGutter), _defineProperty$1(_ref3, \"marginTop\", spacing.menuGutter), _defineProperty$1(_ref3, \"position\", 'absolute'), _defineProperty$1(_ref3, \"width\", '100%'), _defineProperty$1(_ref3, \"zIndex\", 1), _ref3;\n};\n\nvar PortalPlacementContext = /*#__PURE__*/createContext({\n getPortalPlacement: null\n}); // NOTE: internal only\n\nvar MenuPlacer = /*#__PURE__*/function (_Component) {\n _inherits(MenuPlacer, _Component);\n\n var _super = _createSuper(MenuPlacer);\n\n function MenuPlacer() {\n var _this;\n\n _classCallCheck(this, MenuPlacer);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n maxHeight: _this.props.maxMenuHeight,\n placement: null\n };\n\n _this.getPlacement = function (ref) {\n var _this$props = _this.props,\n minMenuHeight = _this$props.minMenuHeight,\n maxMenuHeight = _this$props.maxMenuHeight,\n menuPlacement = _this$props.menuPlacement,\n menuPosition = _this$props.menuPosition,\n menuShouldScrollIntoView = _this$props.menuShouldScrollIntoView,\n theme = _this$props.theme;\n if (!ref) return; // DO NOT scroll if position is fixed\n\n var isFixedPosition = menuPosition === 'fixed';\n var shouldScroll = menuShouldScrollIntoView && !isFixedPosition;\n var state = getMenuPlacement({\n maxHeight: maxMenuHeight,\n menuEl: ref,\n minHeight: minMenuHeight,\n placement: menuPlacement,\n shouldScroll: shouldScroll,\n isFixedPosition: isFixedPosition,\n theme: theme\n });\n var getPortalPlacement = _this.context.getPortalPlacement;\n if (getPortalPlacement) getPortalPlacement(state);\n\n _this.setState(state);\n };\n\n _this.getUpdatedProps = function () {\n var menuPlacement = _this.props.menuPlacement;\n var placement = _this.state.placement || coercePlacement(menuPlacement);\n return _objectSpread2(_objectSpread2({}, _this.props), {}, {\n placement: placement,\n maxHeight: _this.state.maxHeight\n });\n };\n\n return _this;\n }\n\n _createClass(MenuPlacer, [{\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n return children({\n ref: this.getPlacement,\n placerProps: this.getUpdatedProps()\n });\n }\n }]);\n\n return MenuPlacer;\n}(Component);\n\nMenuPlacer.contextType = PortalPlacementContext;\n\nvar Menu = function Menu(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('menu', props),\n className: cx({\n menu: true\n }, className),\n ref: innerRef\n }, innerProps), children);\n}; // Menu List\n// ==============================\n\n\nvar menuListCSS = function menuListCSS(_ref4) {\n var maxHeight = _ref4.maxHeight,\n baseUnit = _ref4.theme.spacing.baseUnit;\n return {\n maxHeight: maxHeight,\n overflowY: 'auto',\n paddingBottom: baseUnit,\n paddingTop: baseUnit,\n position: 'relative',\n // required for offset[Height, Top] > keyboard scroll\n WebkitOverflowScrolling: 'touch'\n };\n};\n\nvar MenuList = function MenuList(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n innerRef = props.innerRef,\n isMulti = props.isMulti;\n return jsx(\"div\", _extends({\n css: getStyles('menuList', props),\n className: cx({\n 'menu-list': true,\n 'menu-list--is-multi': isMulti\n }, className),\n ref: innerRef\n }, innerProps), children);\n}; // ==============================\n// Menu Notices\n// ==============================\n\n\nvar noticeCSS = function noticeCSS(_ref5) {\n var _ref5$theme = _ref5.theme,\n baseUnit = _ref5$theme.spacing.baseUnit,\n colors = _ref5$theme.colors;\n return {\n color: colors.neutral40,\n padding: \"\".concat(baseUnit * 2, \"px \").concat(baseUnit * 3, \"px\"),\n textAlign: 'center'\n };\n};\n\nvar noOptionsMessageCSS = noticeCSS;\nvar loadingMessageCSS = noticeCSS;\n\nvar NoOptionsMessage = function NoOptionsMessage(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('noOptionsMessage', props),\n className: cx({\n 'menu-notice': true,\n 'menu-notice--no-options': true\n }, className)\n }, innerProps), children);\n};\n\nNoOptionsMessage.defaultProps = {\n children: 'No options'\n};\n\nvar LoadingMessage = function LoadingMessage(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('loadingMessage', props),\n className: cx({\n 'menu-notice': true,\n 'menu-notice--loading': true\n }, className)\n }, innerProps), children);\n};\n\nLoadingMessage.defaultProps = {\n children: 'Loading...'\n}; // ==============================\n// Menu Portal\n// ==============================\n\nvar menuPortalCSS = function menuPortalCSS(_ref6) {\n var rect = _ref6.rect,\n offset = _ref6.offset,\n position = _ref6.position;\n return {\n left: rect.left,\n position: position,\n top: offset,\n width: rect.width,\n zIndex: 1\n };\n};\n\nvar MenuPortal = /*#__PURE__*/function (_Component2) {\n _inherits(MenuPortal, _Component2);\n\n var _super2 = _createSuper(MenuPortal);\n\n function MenuPortal() {\n var _this2;\n\n _classCallCheck(this, MenuPortal);\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this2 = _super2.call.apply(_super2, [this].concat(args));\n _this2.state = {\n placement: null\n };\n\n _this2.getPortalPlacement = function (_ref7) {\n var placement = _ref7.placement;\n var initialPlacement = coercePlacement(_this2.props.menuPlacement); // avoid re-renders if the placement has not changed\n\n if (placement !== initialPlacement) {\n _this2.setState({\n placement: placement\n });\n }\n };\n\n return _this2;\n }\n\n _createClass(MenuPortal, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n appendTo = _this$props2.appendTo,\n children = _this$props2.children,\n className = _this$props2.className,\n controlElement = _this$props2.controlElement,\n cx = _this$props2.cx,\n innerProps = _this$props2.innerProps,\n menuPlacement = _this$props2.menuPlacement,\n position = _this$props2.menuPosition,\n getStyles = _this$props2.getStyles;\n var isFixed = position === 'fixed'; // bail early if required elements aren't present\n\n if (!appendTo && !isFixed || !controlElement) {\n return null;\n }\n\n var placement = this.state.placement || coercePlacement(menuPlacement);\n var rect = getBoundingClientObj(controlElement);\n var scrollDistance = isFixed ? 0 : window.pageYOffset;\n var offset = rect[placement] + scrollDistance;\n var state = {\n offset: offset,\n position: position,\n rect: rect\n }; // same wrapper element whether fixed or portalled\n\n var menuWrapper = jsx(\"div\", _extends({\n css: getStyles('menuPortal', state),\n className: cx({\n 'menu-portal': true\n }, className)\n }, innerProps), children);\n return jsx(PortalPlacementContext.Provider, {\n value: {\n getPortalPlacement: this.getPortalPlacement\n }\n }, appendTo ? /*#__PURE__*/createPortal(menuWrapper, appendTo) : menuWrapper);\n }\n }]);\n\n return MenuPortal;\n}(Component);\n\nvar containerCSS = function containerCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n isRtl = _ref.isRtl;\n return {\n label: 'container',\n direction: isRtl ? 'rtl' : null,\n pointerEvents: isDisabled ? 'none' : null,\n // cancel mouse events when disabled\n position: 'relative'\n };\n};\n\nvar SelectContainer = function SelectContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isDisabled = props.isDisabled,\n isRtl = props.isRtl;\n return jsx(\"div\", _extends({\n css: getStyles('container', props),\n className: cx({\n '--is-disabled': isDisabled,\n '--is-rtl': isRtl\n }, className)\n }, innerProps), children);\n}; // ==============================\n// Value Container\n// ==============================\n\n\nvar valueContainerCSS = function valueContainerCSS(_ref2) {\n var spacing = _ref2.theme.spacing;\n return {\n alignItems: 'center',\n display: 'flex',\n flex: 1,\n flexWrap: 'wrap',\n padding: \"\".concat(spacing.baseUnit / 2, \"px \").concat(spacing.baseUnit * 2, \"px\"),\n WebkitOverflowScrolling: 'touch',\n position: 'relative',\n overflow: 'hidden'\n };\n};\n\nvar ValueContainer = function ValueContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n innerProps = props.innerProps,\n isMulti = props.isMulti,\n getStyles = props.getStyles,\n hasValue = props.hasValue;\n return jsx(\"div\", _extends({\n css: getStyles('valueContainer', props),\n className: cx({\n 'value-container': true,\n 'value-container--is-multi': isMulti,\n 'value-container--has-value': hasValue\n }, className)\n }, innerProps), children);\n}; // ==============================\n// Indicator Container\n// ==============================\n\n\nvar indicatorsContainerCSS = function indicatorsContainerCSS() {\n return {\n alignItems: 'center',\n alignSelf: 'stretch',\n display: 'flex',\n flexShrink: 0\n };\n};\n\nvar IndicatorsContainer = function IndicatorsContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n innerProps = props.innerProps,\n getStyles = props.getStyles;\n return jsx(\"div\", _extends({\n css: getStyles('indicatorsContainer', props),\n className: cx({\n indicators: true\n }, className)\n }, innerProps), children);\n};\n\nvar _templateObject;\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n}\n\nvar _ref2 = process.env.NODE_ENV === \"production\" ? {\n name: \"8mmkcg\",\n styles: \"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0\"\n} : {\n name: \"tj5bde-Svg\",\n styles: \"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;label:Svg;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0JJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBDb21tb25Qcm9wcywgVGhlbWUgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBJY29uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IFN2ZyA9ICh7IHNpemUsIC4uLnByb3BzIH06IHsgc2l6ZTogbnVtYmVyIH0pID0+IChcbiAgPHN2Z1xuICAgIGhlaWdodD17c2l6ZX1cbiAgICB3aWR0aD17c2l6ZX1cbiAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgZmlsbDogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBsaW5lSGVpZ2h0OiAxLFxuICAgICAgc3Ryb2tlOiAnY3VycmVudENvbG9yJyxcbiAgICAgIHN0cm9rZVdpZHRoOiAwLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IENyb3NzSWNvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk0xNC4zNDggMTQuODQ5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwbC0yLjY1MS0zLjAzMC0yLjY1MSAzLjAyOWMtMC40NjkgMC40NjktMS4yMjkgMC40NjktMS42OTcgMC0wLjQ2OS0wLjQ2OS0wLjQ2OS0xLjIyOSAwLTEuNjk3bDIuNzU4LTMuMTUtMi43NTktMy4xNTJjLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI4IDAtMS42OTdzMS4yMjgtMC40NjkgMS42OTcgMGwyLjY1MiAzLjAzMSAyLjY1MS0zLjAzMWMwLjQ2OS0wLjQ2OSAxLjIyOC0wLjQ2OSAxLjY5NyAwczAuNDY5IDEuMjI5IDAgMS42OTdsLTIuNzU4IDMuMTUyIDIuNzU4IDMuMTVjMC40NjkgMC40NjkgMC40NjkgMS4yMjkgMCAxLjY5OHpcIiAvPlxuICA8L1N2Zz5cbik7XG5leHBvcnQgY29uc3QgRG93bkNoZXZyb24gPSAocHJvcHM6IGFueSkgPT4gKFxuICA8U3ZnIHNpemU9ezIwfSB7Li4ucHJvcHN9PlxuICAgIDxwYXRoIGQ9XCJNNC41MTYgNy41NDhjMC40MzYtMC40NDYgMS4wNDMtMC40ODEgMS41NzYgMGwzLjkwOCAzLjc0NyAzLjkwOC0zLjc0N2MwLjUzMy0wLjQ4MSAxLjE0MS0wLjQ0NiAxLjU3NCAwIDAuNDM2IDAuNDQ1IDAuNDA4IDEuMTk3IDAgMS42MTUtMC40MDYgMC40MTgtNC42OTUgNC41MDItNC42OTUgNC41MDItMC4yMTcgMC4yMjMtMC41MDIgMC4zMzUtMC43ODcgMC4zMzVzLTAuNTctMC4xMTItMC43ODktMC4zMzVjMCAwLTQuMjg3LTQuMDg0LTQuNjk1LTQuNTAycy0wLjQzNi0xLjE3IDAtMS42MTV6XCIgLz5cbiAgPC9Tdmc+XG4pO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERyb3Bkb3duICYgQ2xlYXIgQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIEluZGljYXRvclByb3BzID0gQ29tbW9uUHJvcHMgJiB7XG4gIC8qKiBUaGUgY2hpbGRyZW4gdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoZSBpbmRpY2F0b3IuICovXG4gIGNoaWxkcmVuOiBOb2RlLFxuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn07XG5cbmNvbnN0IGJhc2VDU1MgPSAoe1xuICBpc0ZvY3VzZWQsXG4gIHRoZW1lOiB7XG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICAgIGNvbG9ycyxcbiAgfSxcbn06IEluZGljYXRvclByb3BzKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvckNvbnRhaW5lcicsXG4gIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDYwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBwYWRkaW5nOiBiYXNlVW5pdCAqIDIsXG4gIHRyYW5zaXRpb246ICdjb2xvciAxNTBtcycsXG5cbiAgJzpob3Zlcic6IHtcbiAgICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw4MCA6IGNvbG9ycy5uZXV0cmFsNDAsXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBEcm9wZG93bkluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnZHJvcGRvd25JbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdkcm9wZG93bi1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPERvd25DaGV2cm9uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFySW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBDbGVhckluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnY2xlYXJJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdjbGVhci1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPENyb3NzSWNvbiAvPn1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2VwYXJhdG9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxudHlwZSBTZXBhcmF0b3JTdGF0ZSA9IHsgaXNEaXNhYmxlZDogYm9vbGVhbiB9O1xuXG5leHBvcnQgY29uc3QgaW5kaWNhdG9yU2VwYXJhdG9yQ1NTID0gKHtcbiAgaXNEaXNhYmxlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogQ29tbW9uUHJvcHMgJiBTZXBhcmF0b3JTdGF0ZSkgPT4gKHtcbiAgbGFiZWw6ICdpbmRpY2F0b3JTZXBhcmF0b3InLFxuICBhbGlnblNlbGY6ICdzdHJldGNoJyxcbiAgYmFja2dyb3VuZENvbG9yOiBpc0Rpc2FibGVkID8gY29sb3JzLm5ldXRyYWwxMCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIG1hcmdpbkJvdHRvbTogYmFzZVVuaXQgKiAyLFxuICBtYXJnaW5Ub3A6IGJhc2VVbml0ICogMixcbiAgd2lkdGg6IDEsXG59KTtcblxuZXhwb3J0IGNvbnN0IEluZGljYXRvclNlcGFyYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxzcGFuXG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdpbmRpY2F0b3JTZXBhcmF0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KHsgJ2luZGljYXRvci1zZXBhcmF0b3InOiB0cnVlIH0sIGNsYXNzTmFtZSl9XG4gICAgLz5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTG9hZGluZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IGxvYWRpbmdEb3RBbmltYXRpb25zID0ga2V5ZnJhbWVzYFxuICAwJSwgODAlLCAxMDAlIHsgb3BhY2l0eTogMDsgfVxuICA0MCUgeyBvcGFjaXR5OiAxOyB9XG5gO1xuXG5leHBvcnQgY29uc3QgbG9hZGluZ0luZGljYXRvckNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgc2l6ZSxcbiAgdGhlbWU6IHtcbiAgICBjb2xvcnMsXG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICB9LFxufToge1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW4sXG4gIHNpemU6IG51bWJlcixcbiAgdGhlbWU6IFRoZW1lLFxufSkgPT4gKHtcbiAgbGFiZWw6ICdsb2FkaW5nSW5kaWNhdG9yJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgYWxpZ25TZWxmOiAnY2VudGVyJyxcbiAgZm9udFNpemU6IHNpemUsXG4gIGxpbmVIZWlnaHQ6IDEsXG4gIG1hcmdpblJpZ2h0OiBzaXplLFxuICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbn0pO1xuXG50eXBlIERvdFByb3BzID0geyBkZWxheTogbnVtYmVyLCBvZmZzZXQ6IGJvb2xlYW4gfTtcbmNvbnN0IExvYWRpbmdEb3QgPSAoeyBkZWxheSwgb2Zmc2V0IH06IERvdFByb3BzKSA9PiAoXG4gIDxzcGFuXG4gICAgY3NzPXt7XG4gICAgICBhbmltYXRpb246IGAke2xvYWRpbmdEb3RBbmltYXRpb25zfSAxcyBlYXNlLWluLW91dCAke2RlbGF5fW1zIGluZmluaXRlO2AsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdjdXJyZW50Q29sb3InLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnMWVtJyxcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgbWFyZ2luTGVmdDogb2Zmc2V0ID8gJzFlbScgOiBudWxsLFxuICAgICAgaGVpZ2h0OiAnMWVtJyxcbiAgICAgIHZlcnRpY2FsQWxpZ246ICd0b3AnLFxuICAgICAgd2lkdGg6ICcxZW0nLFxuICAgIH19XG4gIC8+XG4pO1xuXG5leHBvcnQgdHlwZSBMb2FkaW5nSWNvblByb3BzID0ge1xuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn0gJiBDb21tb25Qcm9wcyAmIHtcbiAgICAvKiogU2V0IHNpemUgb2YgdGhlIGNvbnRhaW5lci4gKi9cbiAgICBzaXplOiBudW1iZXIsXG4gIH07XG5leHBvcnQgY29uc3QgTG9hZGluZ0luZGljYXRvciA9IChwcm9wczogTG9hZGluZ0ljb25Qcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcywgaXNSdGwgfSA9IHByb3BzO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2xvYWRpbmdJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdsb2FkaW5nLWluZGljYXRvcic6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGNsYXNzTmFtZVxuICAgICAgKX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXswfSBvZmZzZXQ9e2lzUnRsfSAvPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezE2MH0gb2Zmc2V0IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MzIwfSBvZmZzZXQ9eyFpc1J0bH0gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Mb2FkaW5nSW5kaWNhdG9yLmRlZmF1bHRQcm9wcyA9IHsgc2l6ZTogNCB9O1xuIl19 */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n}; // ==============================\n// Dropdown & Clear Icons\n// ==============================\n\n\nvar Svg = function Svg(_ref) {\n var size = _ref.size,\n props = _objectWithoutProperties(_ref, [\"size\"]);\n\n return jsx(\"svg\", _extends({\n height: size,\n width: size,\n viewBox: \"0 0 20 20\",\n \"aria-hidden\": \"true\",\n focusable: \"false\",\n css: _ref2\n }, props));\n};\n\nvar CrossIcon = function CrossIcon(props) {\n return jsx(Svg, _extends({\n size: 20\n }, props), jsx(\"path\", {\n d: \"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z\"\n }));\n};\n\nvar DownChevron = function DownChevron(props) {\n return jsx(Svg, _extends({\n size: 20\n }, props), jsx(\"path\", {\n d: \"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z\"\n }));\n}; // ==============================\n// Dropdown & Clear Buttons\n// ==============================\n\n\nvar baseCSS = function baseCSS(_ref3) {\n var isFocused = _ref3.isFocused,\n _ref3$theme = _ref3.theme,\n baseUnit = _ref3$theme.spacing.baseUnit,\n colors = _ref3$theme.colors;\n return {\n label: 'indicatorContainer',\n color: isFocused ? colors.neutral60 : colors.neutral20,\n display: 'flex',\n padding: baseUnit * 2,\n transition: 'color 150ms',\n ':hover': {\n color: isFocused ? colors.neutral80 : colors.neutral40\n }\n };\n};\n\nvar dropdownIndicatorCSS = baseCSS;\n\nvar DropdownIndicator = function DropdownIndicator(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('dropdownIndicator', props),\n className: cx({\n indicator: true,\n 'dropdown-indicator': true\n }, className)\n }, innerProps), children || jsx(DownChevron, null));\n};\n\nvar clearIndicatorCSS = baseCSS;\n\nvar ClearIndicator = function ClearIndicator(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('clearIndicator', props),\n className: cx({\n indicator: true,\n 'clear-indicator': true\n }, className)\n }, innerProps), children || jsx(CrossIcon, null));\n}; // ==============================\n// Separator\n// ==============================\n\n\nvar indicatorSeparatorCSS = function indicatorSeparatorCSS(_ref4) {\n var isDisabled = _ref4.isDisabled,\n _ref4$theme = _ref4.theme,\n baseUnit = _ref4$theme.spacing.baseUnit,\n colors = _ref4$theme.colors;\n return {\n label: 'indicatorSeparator',\n alignSelf: 'stretch',\n backgroundColor: isDisabled ? colors.neutral10 : colors.neutral20,\n marginBottom: baseUnit * 2,\n marginTop: baseUnit * 2,\n width: 1\n };\n};\n\nvar IndicatorSeparator = function IndicatorSeparator(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"span\", _extends({}, innerProps, {\n css: getStyles('indicatorSeparator', props),\n className: cx({\n 'indicator-separator': true\n }, className)\n }));\n}; // ==============================\n// Loading\n// ==============================\n\n\nvar loadingDotAnimations = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n 0%, 80%, 100% { opacity: 0; }\\n 40% { opacity: 1; }\\n\"])));\n\nvar loadingIndicatorCSS = function loadingIndicatorCSS(_ref5) {\n var isFocused = _ref5.isFocused,\n size = _ref5.size,\n _ref5$theme = _ref5.theme,\n colors = _ref5$theme.colors,\n baseUnit = _ref5$theme.spacing.baseUnit;\n return {\n label: 'loadingIndicator',\n color: isFocused ? colors.neutral60 : colors.neutral20,\n display: 'flex',\n padding: baseUnit * 2,\n transition: 'color 150ms',\n alignSelf: 'center',\n fontSize: size,\n lineHeight: 1,\n marginRight: size,\n textAlign: 'center',\n verticalAlign: 'middle'\n };\n};\n\nvar LoadingDot = function LoadingDot(_ref6) {\n var delay = _ref6.delay,\n offset = _ref6.offset;\n return jsx(\"span\", {\n css: /*#__PURE__*/css$2({\n animation: \"\".concat(loadingDotAnimations, \" 1s ease-in-out \").concat(delay, \"ms infinite;\"),\n backgroundColor: 'currentColor',\n borderRadius: '1em',\n display: 'inline-block',\n marginLeft: offset ? '1em' : null,\n height: '1em',\n verticalAlign: 'top',\n width: '1em'\n }, process.env.NODE_ENV === \"production\" ? \"\" : \";label:LoadingDot;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0xJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBDb21tb25Qcm9wcywgVGhlbWUgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBJY29uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IFN2ZyA9ICh7IHNpemUsIC4uLnByb3BzIH06IHsgc2l6ZTogbnVtYmVyIH0pID0+IChcbiAgPHN2Z1xuICAgIGhlaWdodD17c2l6ZX1cbiAgICB3aWR0aD17c2l6ZX1cbiAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgZmlsbDogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBsaW5lSGVpZ2h0OiAxLFxuICAgICAgc3Ryb2tlOiAnY3VycmVudENvbG9yJyxcbiAgICAgIHN0cm9rZVdpZHRoOiAwLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IENyb3NzSWNvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk0xNC4zNDggMTQuODQ5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwbC0yLjY1MS0zLjAzMC0yLjY1MSAzLjAyOWMtMC40NjkgMC40NjktMS4yMjkgMC40NjktMS42OTcgMC0wLjQ2OS0wLjQ2OS0wLjQ2OS0xLjIyOSAwLTEuNjk3bDIuNzU4LTMuMTUtMi43NTktMy4xNTJjLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI4IDAtMS42OTdzMS4yMjgtMC40NjkgMS42OTcgMGwyLjY1MiAzLjAzMSAyLjY1MS0zLjAzMWMwLjQ2OS0wLjQ2OSAxLjIyOC0wLjQ2OSAxLjY5NyAwczAuNDY5IDEuMjI5IDAgMS42OTdsLTIuNzU4IDMuMTUyIDIuNzU4IDMuMTVjMC40NjkgMC40NjkgMC40NjkgMS4yMjkgMCAxLjY5OHpcIiAvPlxuICA8L1N2Zz5cbik7XG5leHBvcnQgY29uc3QgRG93bkNoZXZyb24gPSAocHJvcHM6IGFueSkgPT4gKFxuICA8U3ZnIHNpemU9ezIwfSB7Li4ucHJvcHN9PlxuICAgIDxwYXRoIGQ9XCJNNC41MTYgNy41NDhjMC40MzYtMC40NDYgMS4wNDMtMC40ODEgMS41NzYgMGwzLjkwOCAzLjc0NyAzLjkwOC0zLjc0N2MwLjUzMy0wLjQ4MSAxLjE0MS0wLjQ0NiAxLjU3NCAwIDAuNDM2IDAuNDQ1IDAuNDA4IDEuMTk3IDAgMS42MTUtMC40MDYgMC40MTgtNC42OTUgNC41MDItNC42OTUgNC41MDItMC4yMTcgMC4yMjMtMC41MDIgMC4zMzUtMC43ODcgMC4zMzVzLTAuNTctMC4xMTItMC43ODktMC4zMzVjMCAwLTQuMjg3LTQuMDg0LTQuNjk1LTQuNTAycy0wLjQzNi0xLjE3IDAtMS42MTV6XCIgLz5cbiAgPC9Tdmc+XG4pO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERyb3Bkb3duICYgQ2xlYXIgQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIEluZGljYXRvclByb3BzID0gQ29tbW9uUHJvcHMgJiB7XG4gIC8qKiBUaGUgY2hpbGRyZW4gdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoZSBpbmRpY2F0b3IuICovXG4gIGNoaWxkcmVuOiBOb2RlLFxuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn07XG5cbmNvbnN0IGJhc2VDU1MgPSAoe1xuICBpc0ZvY3VzZWQsXG4gIHRoZW1lOiB7XG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICAgIGNvbG9ycyxcbiAgfSxcbn06IEluZGljYXRvclByb3BzKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvckNvbnRhaW5lcicsXG4gIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDYwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBwYWRkaW5nOiBiYXNlVW5pdCAqIDIsXG4gIHRyYW5zaXRpb246ICdjb2xvciAxNTBtcycsXG5cbiAgJzpob3Zlcic6IHtcbiAgICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw4MCA6IGNvbG9ycy5uZXV0cmFsNDAsXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBEcm9wZG93bkluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnZHJvcGRvd25JbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdkcm9wZG93bi1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPERvd25DaGV2cm9uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFySW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBDbGVhckluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnY2xlYXJJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdjbGVhci1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPENyb3NzSWNvbiAvPn1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2VwYXJhdG9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxudHlwZSBTZXBhcmF0b3JTdGF0ZSA9IHsgaXNEaXNhYmxlZDogYm9vbGVhbiB9O1xuXG5leHBvcnQgY29uc3QgaW5kaWNhdG9yU2VwYXJhdG9yQ1NTID0gKHtcbiAgaXNEaXNhYmxlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogQ29tbW9uUHJvcHMgJiBTZXBhcmF0b3JTdGF0ZSkgPT4gKHtcbiAgbGFiZWw6ICdpbmRpY2F0b3JTZXBhcmF0b3InLFxuICBhbGlnblNlbGY6ICdzdHJldGNoJyxcbiAgYmFja2dyb3VuZENvbG9yOiBpc0Rpc2FibGVkID8gY29sb3JzLm5ldXRyYWwxMCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIG1hcmdpbkJvdHRvbTogYmFzZVVuaXQgKiAyLFxuICBtYXJnaW5Ub3A6IGJhc2VVbml0ICogMixcbiAgd2lkdGg6IDEsXG59KTtcblxuZXhwb3J0IGNvbnN0IEluZGljYXRvclNlcGFyYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxzcGFuXG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdpbmRpY2F0b3JTZXBhcmF0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KHsgJ2luZGljYXRvci1zZXBhcmF0b3InOiB0cnVlIH0sIGNsYXNzTmFtZSl9XG4gICAgLz5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTG9hZGluZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IGxvYWRpbmdEb3RBbmltYXRpb25zID0ga2V5ZnJhbWVzYFxuICAwJSwgODAlLCAxMDAlIHsgb3BhY2l0eTogMDsgfVxuICA0MCUgeyBvcGFjaXR5OiAxOyB9XG5gO1xuXG5leHBvcnQgY29uc3QgbG9hZGluZ0luZGljYXRvckNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgc2l6ZSxcbiAgdGhlbWU6IHtcbiAgICBjb2xvcnMsXG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICB9LFxufToge1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW4sXG4gIHNpemU6IG51bWJlcixcbiAgdGhlbWU6IFRoZW1lLFxufSkgPT4gKHtcbiAgbGFiZWw6ICdsb2FkaW5nSW5kaWNhdG9yJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgYWxpZ25TZWxmOiAnY2VudGVyJyxcbiAgZm9udFNpemU6IHNpemUsXG4gIGxpbmVIZWlnaHQ6IDEsXG4gIG1hcmdpblJpZ2h0OiBzaXplLFxuICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbn0pO1xuXG50eXBlIERvdFByb3BzID0geyBkZWxheTogbnVtYmVyLCBvZmZzZXQ6IGJvb2xlYW4gfTtcbmNvbnN0IExvYWRpbmdEb3QgPSAoeyBkZWxheSwgb2Zmc2V0IH06IERvdFByb3BzKSA9PiAoXG4gIDxzcGFuXG4gICAgY3NzPXt7XG4gICAgICBhbmltYXRpb246IGAke2xvYWRpbmdEb3RBbmltYXRpb25zfSAxcyBlYXNlLWluLW91dCAke2RlbGF5fW1zIGluZmluaXRlO2AsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdjdXJyZW50Q29sb3InLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnMWVtJyxcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgbWFyZ2luTGVmdDogb2Zmc2V0ID8gJzFlbScgOiBudWxsLFxuICAgICAgaGVpZ2h0OiAnMWVtJyxcbiAgICAgIHZlcnRpY2FsQWxpZ246ICd0b3AnLFxuICAgICAgd2lkdGg6ICcxZW0nLFxuICAgIH19XG4gIC8+XG4pO1xuXG5leHBvcnQgdHlwZSBMb2FkaW5nSWNvblByb3BzID0ge1xuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn0gJiBDb21tb25Qcm9wcyAmIHtcbiAgICAvKiogU2V0IHNpemUgb2YgdGhlIGNvbnRhaW5lci4gKi9cbiAgICBzaXplOiBudW1iZXIsXG4gIH07XG5leHBvcnQgY29uc3QgTG9hZGluZ0luZGljYXRvciA9IChwcm9wczogTG9hZGluZ0ljb25Qcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcywgaXNSdGwgfSA9IHByb3BzO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2xvYWRpbmdJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdsb2FkaW5nLWluZGljYXRvcic6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGNsYXNzTmFtZVxuICAgICAgKX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXswfSBvZmZzZXQ9e2lzUnRsfSAvPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezE2MH0gb2Zmc2V0IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MzIwfSBvZmZzZXQ9eyFpc1J0bH0gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Mb2FkaW5nSW5kaWNhdG9yLmRlZmF1bHRQcm9wcyA9IHsgc2l6ZTogNCB9O1xuIl19 */\")\n });\n};\n\nvar LoadingIndicator = function LoadingIndicator(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isRtl = props.isRtl;\n return jsx(\"div\", _extends({\n css: getStyles('loadingIndicator', props),\n className: cx({\n indicator: true,\n 'loading-indicator': true\n }, className)\n }, innerProps), jsx(LoadingDot, {\n delay: 0,\n offset: isRtl\n }), jsx(LoadingDot, {\n delay: 160,\n offset: true\n }), jsx(LoadingDot, {\n delay: 320,\n offset: !isRtl\n }));\n};\n\nLoadingIndicator.defaultProps = {\n size: 4\n};\n\nvar css = function css(_ref) {\n var isDisabled = _ref.isDisabled,\n isFocused = _ref.isFocused,\n _ref$theme = _ref.theme,\n colors = _ref$theme.colors,\n borderRadius = _ref$theme.borderRadius,\n spacing = _ref$theme.spacing;\n return {\n label: 'control',\n alignItems: 'center',\n backgroundColor: isDisabled ? colors.neutral5 : colors.neutral0,\n borderColor: isDisabled ? colors.neutral10 : isFocused ? colors.primary : colors.neutral20,\n borderRadius: borderRadius,\n borderStyle: 'solid',\n borderWidth: 1,\n boxShadow: isFocused ? \"0 0 0 1px \".concat(colors.primary) : null,\n cursor: 'default',\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n minHeight: spacing.controlHeight,\n outline: '0 !important',\n position: 'relative',\n transition: 'all 100ms',\n '&:hover': {\n borderColor: isFocused ? colors.primary : colors.neutral30\n }\n };\n};\n\nvar Control = function Control(props) {\n var children = props.children,\n cx = props.cx,\n getStyles = props.getStyles,\n className = props.className,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n innerRef = props.innerRef,\n innerProps = props.innerProps,\n menuIsOpen = props.menuIsOpen;\n return jsx(\"div\", _extends({\n ref: innerRef,\n css: getStyles('control', props),\n className: cx({\n control: true,\n 'control--is-disabled': isDisabled,\n 'control--is-focused': isFocused,\n 'control--menu-is-open': menuIsOpen\n }, className)\n }, innerProps), children);\n};\n\nvar groupCSS = function groupCSS(_ref) {\n var spacing = _ref.theme.spacing;\n return {\n paddingBottom: spacing.baseUnit * 2,\n paddingTop: spacing.baseUnit * 2\n };\n};\n\nvar Group = function Group(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n Heading = props.Heading,\n headingProps = props.headingProps,\n innerProps = props.innerProps,\n label = props.label,\n theme = props.theme,\n selectProps = props.selectProps;\n return jsx(\"div\", _extends({\n css: getStyles('group', props),\n className: cx({\n group: true\n }, className)\n }, innerProps), jsx(Heading, _extends({}, headingProps, {\n selectProps: selectProps,\n theme: theme,\n getStyles: getStyles,\n cx: cx\n }), label), jsx(\"div\", null, children));\n};\n\nvar groupHeadingCSS = function groupHeadingCSS(_ref2) {\n var spacing = _ref2.theme.spacing;\n return {\n label: 'group',\n color: '#999',\n cursor: 'default',\n display: 'block',\n fontSize: '75%',\n fontWeight: '500',\n marginBottom: '0.25em',\n paddingLeft: spacing.baseUnit * 3,\n paddingRight: spacing.baseUnit * 3,\n textTransform: 'uppercase'\n };\n};\n\nvar GroupHeading = function GroupHeading(props) {\n var getStyles = props.getStyles,\n cx = props.cx,\n className = props.className;\n\n var _cleanCommonProps = cleanCommonProps(props);\n\n _cleanCommonProps.data;\n\n var innerProps = _objectWithoutProperties(_cleanCommonProps, [\"data\"]);\n\n return jsx(\"div\", _extends({\n css: getStyles('groupHeading', props),\n className: cx({\n 'group-heading': true\n }, className)\n }, innerProps));\n};\n\nvar inputCSS = function inputCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n margin: spacing.baseUnit / 2,\n paddingBottom: spacing.baseUnit / 2,\n paddingTop: spacing.baseUnit / 2,\n visibility: isDisabled ? 'hidden' : 'visible',\n color: colors.neutral80\n };\n};\n\nvar inputStyle = function inputStyle(isHidden) {\n return {\n label: 'input',\n background: 0,\n border: 0,\n fontSize: 'inherit',\n opacity: isHidden ? 0 : 1,\n outline: 0,\n padding: 0,\n color: 'inherit'\n };\n};\n\nvar Input = function Input(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles;\n\n var _cleanCommonProps = cleanCommonProps(props),\n innerRef = _cleanCommonProps.innerRef,\n isDisabled = _cleanCommonProps.isDisabled,\n isHidden = _cleanCommonProps.isHidden,\n innerProps = _objectWithoutProperties(_cleanCommonProps, [\"innerRef\", \"isDisabled\", \"isHidden\"]);\n\n return jsx(\"div\", {\n css: getStyles('input', props)\n }, jsx(AutosizeInput, _extends({\n className: cx({\n input: true\n }, className),\n inputRef: innerRef,\n inputStyle: inputStyle(isHidden),\n disabled: isDisabled\n }, innerProps)));\n};\n\nvar multiValueCSS = function multiValueCSS(_ref) {\n var _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n borderRadius = _ref$theme.borderRadius,\n colors = _ref$theme.colors;\n return {\n label: 'multiValue',\n backgroundColor: colors.neutral10,\n borderRadius: borderRadius / 2,\n display: 'flex',\n margin: spacing.baseUnit / 2,\n minWidth: 0 // resolves flex/text-overflow bug\n\n };\n};\n\nvar multiValueLabelCSS = function multiValueLabelCSS(_ref2) {\n var _ref2$theme = _ref2.theme,\n borderRadius = _ref2$theme.borderRadius,\n colors = _ref2$theme.colors,\n cropWithEllipsis = _ref2.cropWithEllipsis;\n return {\n borderRadius: borderRadius / 2,\n color: colors.neutral80,\n fontSize: '85%',\n overflow: 'hidden',\n padding: 3,\n paddingLeft: 6,\n textOverflow: cropWithEllipsis ? 'ellipsis' : null,\n whiteSpace: 'nowrap'\n };\n};\n\nvar multiValueRemoveCSS = function multiValueRemoveCSS(_ref3) {\n var _ref3$theme = _ref3.theme,\n spacing = _ref3$theme.spacing,\n borderRadius = _ref3$theme.borderRadius,\n colors = _ref3$theme.colors,\n isFocused = _ref3.isFocused;\n return {\n alignItems: 'center',\n borderRadius: borderRadius / 2,\n backgroundColor: isFocused && colors.dangerLight,\n display: 'flex',\n paddingLeft: spacing.baseUnit,\n paddingRight: spacing.baseUnit,\n ':hover': {\n backgroundColor: colors.dangerLight,\n color: colors.danger\n }\n };\n};\n\nvar MultiValueGeneric = function MultiValueGeneric(_ref4) {\n var children = _ref4.children,\n innerProps = _ref4.innerProps;\n return jsx(\"div\", innerProps, children);\n};\n\nvar MultiValueContainer = MultiValueGeneric;\nvar MultiValueLabel = MultiValueGeneric;\n\nfunction MultiValueRemove(_ref5) {\n var children = _ref5.children,\n innerProps = _ref5.innerProps;\n return jsx(\"div\", innerProps, children || jsx(CrossIcon, {\n size: 14\n }));\n}\n\nvar MultiValue = function MultiValue(props) {\n var children = props.children,\n className = props.className,\n components = props.components,\n cx = props.cx,\n data = props.data,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isDisabled = props.isDisabled,\n removeProps = props.removeProps,\n selectProps = props.selectProps;\n var Container = components.Container,\n Label = components.Label,\n Remove = components.Remove;\n return jsx(ClassNames, null, function (_ref6) {\n var css = _ref6.css,\n emotionCx = _ref6.cx;\n return jsx(Container, {\n data: data,\n innerProps: _objectSpread2({\n className: emotionCx(css(getStyles('multiValue', props)), cx({\n 'multi-value': true,\n 'multi-value--is-disabled': isDisabled\n }, className))\n }, innerProps),\n selectProps: selectProps\n }, jsx(Label, {\n data: data,\n innerProps: {\n className: emotionCx(css(getStyles('multiValueLabel', props)), cx({\n 'multi-value__label': true\n }, className))\n },\n selectProps: selectProps\n }, children), jsx(Remove, {\n data: data,\n innerProps: _objectSpread2({\n className: emotionCx(css(getStyles('multiValueRemove', props)), cx({\n 'multi-value__remove': true\n }, className))\n }, removeProps),\n selectProps: selectProps\n }));\n });\n};\n\nMultiValue.defaultProps = {\n cropWithEllipsis: true\n};\n\nvar optionCSS = function optionCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n isFocused = _ref.isFocused,\n isSelected = _ref.isSelected,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'option',\n backgroundColor: isSelected ? colors.primary : isFocused ? colors.primary25 : 'transparent',\n color: isDisabled ? colors.neutral20 : isSelected ? colors.neutral0 : 'inherit',\n cursor: 'default',\n display: 'block',\n fontSize: 'inherit',\n padding: \"\".concat(spacing.baseUnit * 2, \"px \").concat(spacing.baseUnit * 3, \"px\"),\n width: '100%',\n userSelect: 'none',\n WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)',\n // provide some affordance on touch devices\n ':active': {\n backgroundColor: !isDisabled && (isSelected ? colors.primary : colors.primary50)\n }\n };\n};\n\nvar Option = function Option(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n isSelected = props.isSelected,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('option', props),\n className: cx({\n option: true,\n 'option--is-disabled': isDisabled,\n 'option--is-focused': isFocused,\n 'option--is-selected': isSelected\n }, className),\n ref: innerRef\n }, innerProps), children);\n};\n\nvar placeholderCSS = function placeholderCSS(_ref) {\n var _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'placeholder',\n color: colors.neutral50,\n marginLeft: spacing.baseUnit / 2,\n marginRight: spacing.baseUnit / 2,\n position: 'absolute',\n top: '50%',\n transform: 'translateY(-50%)'\n };\n};\n\nvar Placeholder = function Placeholder(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('placeholder', props),\n className: cx({\n placeholder: true\n }, className)\n }, innerProps), children);\n};\n\nvar css$1 = function css(_ref) {\n var isDisabled = _ref.isDisabled,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'singleValue',\n color: isDisabled ? colors.neutral40 : colors.neutral80,\n marginLeft: spacing.baseUnit / 2,\n marginRight: spacing.baseUnit / 2,\n maxWidth: \"calc(100% - \".concat(spacing.baseUnit * 2, \"px)\"),\n overflow: 'hidden',\n position: 'absolute',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n top: '50%',\n transform: 'translateY(-50%)'\n };\n};\n\nvar SingleValue = function SingleValue(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n isDisabled = props.isDisabled,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('singleValue', props),\n className: cx({\n 'single-value': true,\n 'single-value--is-disabled': isDisabled\n }, className)\n }, innerProps), children);\n};\n\nvar components = {\n ClearIndicator: ClearIndicator,\n Control: Control,\n DropdownIndicator: DropdownIndicator,\n DownChevron: DownChevron,\n CrossIcon: CrossIcon,\n Group: Group,\n GroupHeading: GroupHeading,\n IndicatorsContainer: IndicatorsContainer,\n IndicatorSeparator: IndicatorSeparator,\n Input: Input,\n LoadingIndicator: LoadingIndicator,\n Menu: Menu,\n MenuList: MenuList,\n MenuPortal: MenuPortal,\n LoadingMessage: LoadingMessage,\n NoOptionsMessage: NoOptionsMessage,\n MultiValue: MultiValue,\n MultiValueContainer: MultiValueContainer,\n MultiValueLabel: MultiValueLabel,\n MultiValueRemove: MultiValueRemove,\n Option: Option,\n Placeholder: Placeholder,\n SelectContainer: SelectContainer,\n SingleValue: SingleValue,\n ValueContainer: ValueContainer\n};\n\nvar defaultComponents = function defaultComponents(props) {\n return _objectSpread2(_objectSpread2({}, components), props.components);\n};\n\nexport { isMobileDevice as A, classNames as B, defaultComponents as C, isDocumentElement as D, cleanValue as E, scrollIntoView as F, noop as G, handleInputChange as H, MenuPlacer as M, _createSuper as _, _objectSpread2 as a, clearIndicatorCSS as b, components as c, containerCSS as d, css as e, dropdownIndicatorCSS as f, groupCSS as g, groupHeadingCSS as h, indicatorsContainerCSS as i, indicatorSeparatorCSS as j, inputCSS as k, loadingIndicatorCSS as l, loadingMessageCSS as m, menuCSS as n, menuListCSS as o, menuPortalCSS as p, multiValueCSS as q, multiValueLabelCSS as r, supportsPassiveEvents as s, multiValueRemoveCSS as t, noOptionsMessageCSS as u, optionCSS as v, placeholderCSS as w, css$1 as x, valueContainerCSS as y, isTouchCapable as z };","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","function areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n\n for (var i = 0; i < newInputs.length; i++) {\n if (newInputs[i] !== lastInputs[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) {\n isEqual = areInputsEqual;\n }\n\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n\n function memoized() {\n var newArgs = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n\n return memoized;\n}\n\nexport default memoizeOne;","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { a as _objectSpread2, s as supportsPassiveEvents, b as clearIndicatorCSS, d as containerCSS, e as css$1, f as dropdownIndicatorCSS, g as groupCSS, h as groupHeadingCSS, i as indicatorsContainerCSS, j as indicatorSeparatorCSS, k as inputCSS, l as loadingIndicatorCSS, m as loadingMessageCSS, n as menuCSS, o as menuListCSS, p as menuPortalCSS, q as multiValueCSS, r as multiValueLabelCSS, t as multiValueRemoveCSS, u as noOptionsMessageCSS, v as optionCSS, w as placeholderCSS, x as css$2, y as valueContainerCSS, z as isTouchCapable, A as isMobileDevice, _ as _createSuper, B as classNames, C as defaultComponents, D as isDocumentElement, E as cleanValue, F as scrollIntoView, G as noop, M as MenuPlacer } from './index-4bd03571.esm.js';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\nimport React, { useMemo, useRef, useCallback, useEffect, Component } from 'react';\nimport { jsx, css } from '@emotion/react';\nimport memoizeOne from 'memoize-one';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n}\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n name: \"7pg0cj-a11yText\",\n styles: \"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap\"\n} : {\n name: \"1f43avz-a11yText-A11yText\",\n styles: \"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap;label:A11yText;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkExMXlUZXh0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFJIiwiZmlsZSI6IkExMXlUZXh0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcbi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsgdHlwZSBFbGVtZW50Q29uZmlnIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsganN4IH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG4vLyBBc3Npc3RpdmUgdGV4dCB0byBkZXNjcmliZSB2aXN1YWwgZWxlbWVudHMuIEhpZGRlbiBmb3Igc2lnaHRlZCB1c2Vycy5cbmNvbnN0IEExMXlUZXh0ID0gKHByb3BzOiBFbGVtZW50Q29uZmlnPCdzcGFuJz4pID0+IChcbiAgPHNwYW5cbiAgICBjc3M9e3tcbiAgICAgIGxhYmVsOiAnYTExeVRleHQnLFxuICAgICAgekluZGV4OiA5OTk5LFxuICAgICAgYm9yZGVyOiAwLFxuICAgICAgY2xpcDogJ3JlY3QoMXB4LCAxcHgsIDFweCwgMXB4KScsXG4gICAgICBoZWlnaHQ6IDEsXG4gICAgICB3aWR0aDogMSxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgQTExeVRleHQ7XG4iXX0= */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nvar A11yText = function A11yText(props) {\n return jsx(\"span\", _extends({\n css: _ref\n }, props));\n};\n\nvar defaultAriaLiveMessages = {\n guidance: function guidance(props) {\n var isSearchable = props.isSearchable,\n isMulti = props.isMulti,\n isDisabled = props.isDisabled,\n tabSelectsValue = props.tabSelectsValue,\n context = props.context;\n\n switch (context) {\n case 'menu':\n return \"Use Up and Down to choose options\".concat(isDisabled ? '' : ', press Enter to select the currently focused option', \", press Escape to exit the menu\").concat(tabSelectsValue ? ', press Tab to select the option and exit the menu' : '', \".\");\n\n case 'input':\n return \"\".concat(props['aria-label'] || 'Select', \" is focused \").concat(isSearchable ? ',type to refine list' : '', \", press Down to open the menu, \").concat(isMulti ? ' press left to focus selected values' : '');\n\n case 'value':\n return 'Use left and right to toggle between focused values, press Backspace to remove the currently focused value';\n\n default:\n return '';\n }\n },\n onChange: function onChange(props) {\n var action = props.action,\n _props$label = props.label,\n label = _props$label === void 0 ? '' : _props$label,\n isDisabled = props.isDisabled;\n\n switch (action) {\n case 'deselect-option':\n case 'pop-value':\n case 'remove-value':\n return \"option \".concat(label, \", deselected.\");\n\n case 'select-option':\n return isDisabled ? \"option \".concat(label, \" is disabled. Select another option.\") : \"option \".concat(label, \", selected.\");\n\n default:\n return '';\n }\n },\n onFocus: function onFocus(props) {\n var context = props.context,\n _props$focused = props.focused,\n focused = _props$focused === void 0 ? {} : _props$focused,\n options = props.options,\n _props$label2 = props.label,\n label = _props$label2 === void 0 ? '' : _props$label2,\n selectValue = props.selectValue,\n isDisabled = props.isDisabled,\n isSelected = props.isSelected;\n\n var getArrayIndex = function getArrayIndex(arr, item) {\n return arr && arr.length ? \"\".concat(arr.indexOf(item) + 1, \" of \").concat(arr.length) : '';\n };\n\n if (context === 'value' && selectValue) {\n return \"value \".concat(label, \" focused, \").concat(getArrayIndex(selectValue, focused), \".\");\n }\n\n if (context === 'menu') {\n var disabled = isDisabled ? ' disabled' : '';\n var status = \"\".concat(isSelected ? 'selected' : 'focused').concat(disabled);\n return \"option \".concat(label, \" \").concat(status, \", \").concat(getArrayIndex(options, focused), \".\");\n }\n\n return '';\n },\n onFilter: function onFilter(props) {\n var inputValue = props.inputValue,\n resultsMessage = props.resultsMessage;\n return \"\".concat(resultsMessage).concat(inputValue ? ' for search term ' + inputValue : '', \".\");\n }\n};\n\nvar LiveRegion = function LiveRegion(props) {\n var ariaSelection = props.ariaSelection,\n focusedOption = props.focusedOption,\n focusedValue = props.focusedValue,\n focusableOptions = props.focusableOptions,\n isFocused = props.isFocused,\n selectValue = props.selectValue,\n selectProps = props.selectProps;\n var ariaLiveMessages = selectProps.ariaLiveMessages,\n getOptionLabel = selectProps.getOptionLabel,\n inputValue = selectProps.inputValue,\n isMulti = selectProps.isMulti,\n isOptionDisabled = selectProps.isOptionDisabled,\n isSearchable = selectProps.isSearchable,\n menuIsOpen = selectProps.menuIsOpen,\n options = selectProps.options,\n screenReaderStatus = selectProps.screenReaderStatus,\n tabSelectsValue = selectProps.tabSelectsValue;\n var ariaLabel = selectProps['aria-label'];\n var ariaLive = selectProps['aria-live']; // Update aria live message configuration when prop changes\n\n var messages = useMemo(function () {\n return _objectSpread2(_objectSpread2({}, defaultAriaLiveMessages), ariaLiveMessages || {});\n }, [ariaLiveMessages]); // Update aria live selected option when prop changes\n\n var ariaSelected = useMemo(function () {\n var message = '';\n\n if (ariaSelection && messages.onChange) {\n var option = ariaSelection.option,\n removedValue = ariaSelection.removedValue,\n value = ariaSelection.value; // select-option when !isMulti does not return option so we assume selected option is value\n\n var asOption = function asOption(val) {\n return !Array.isArray(val) ? val : null;\n };\n\n var selected = removedValue || option || asOption(value);\n\n var onChangeProps = _objectSpread2({\n isDisabled: selected && isOptionDisabled(selected),\n label: selected ? getOptionLabel(selected) : ''\n }, ariaSelection);\n\n message = messages.onChange(onChangeProps);\n }\n\n return message;\n }, [ariaSelection, isOptionDisabled, getOptionLabel, messages]);\n var ariaFocused = useMemo(function () {\n var focusMsg = '';\n var focused = focusedOption || focusedValue;\n var isSelected = !!(focusedOption && selectValue && selectValue.includes(focusedOption));\n\n if (focused && messages.onFocus) {\n var onFocusProps = {\n focused: focused,\n label: getOptionLabel(focused),\n isDisabled: isOptionDisabled(focused),\n isSelected: isSelected,\n options: options,\n context: focused === focusedOption ? 'menu' : 'value',\n selectValue: selectValue\n };\n focusMsg = messages.onFocus(onFocusProps);\n }\n\n return focusMsg;\n }, [focusedOption, focusedValue, getOptionLabel, isOptionDisabled, messages, options, selectValue]);\n var ariaResults = useMemo(function () {\n var resultsMsg = '';\n\n if (menuIsOpen && options.length && messages.onFilter) {\n var resultsMessage = screenReaderStatus({\n count: focusableOptions.length\n });\n resultsMsg = messages.onFilter({\n inputValue: inputValue,\n resultsMessage: resultsMessage\n });\n }\n\n return resultsMsg;\n }, [focusableOptions, inputValue, menuIsOpen, messages, options, screenReaderStatus]);\n var ariaGuidance = useMemo(function () {\n var guidanceMsg = '';\n\n if (messages.guidance) {\n var context = focusedValue ? 'value' : menuIsOpen ? 'menu' : 'input';\n guidanceMsg = messages.guidance({\n 'aria-label': ariaLabel,\n context: context,\n isDisabled: focusedOption && isOptionDisabled(focusedOption),\n isMulti: isMulti,\n isSearchable: isSearchable,\n tabSelectsValue: tabSelectsValue\n });\n }\n\n return guidanceMsg;\n }, [ariaLabel, focusedOption, focusedValue, isMulti, isOptionDisabled, isSearchable, menuIsOpen, messages, tabSelectsValue]);\n var ariaContext = \"\".concat(ariaFocused, \" \").concat(ariaResults, \" \").concat(ariaGuidance);\n return jsx(A11yText, {\n \"aria-live\": ariaLive,\n \"aria-atomic\": \"false\",\n \"aria-relevant\": \"additions text\"\n }, isFocused && jsx(React.Fragment, null, jsx(\"span\", {\n id: \"aria-selection\"\n }, ariaSelected), jsx(\"span\", {\n id: \"aria-context\"\n }, ariaContext)));\n};\n\nvar diacritics = [{\n base: 'A',\n letters: \"A\\u24B6\\uFF21\\xC0\\xC1\\xC2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\xC3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\xC4\\u01DE\\u1EA2\\xC5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F\"\n}, {\n base: 'AA',\n letters: \"\\uA732\"\n}, {\n base: 'AE',\n letters: \"\\xC6\\u01FC\\u01E2\"\n}, {\n base: 'AO',\n letters: \"\\uA734\"\n}, {\n base: 'AU',\n letters: \"\\uA736\"\n}, {\n base: 'AV',\n letters: \"\\uA738\\uA73A\"\n}, {\n base: 'AY',\n letters: \"\\uA73C\"\n}, {\n base: 'B',\n letters: \"B\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181\"\n}, {\n base: 'C',\n letters: \"C\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\xC7\\u1E08\\u0187\\u023B\\uA73E\"\n}, {\n base: 'D',\n letters: \"D\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779\"\n}, {\n base: 'DZ',\n letters: \"\\u01F1\\u01C4\"\n}, {\n base: 'Dz',\n letters: \"\\u01F2\\u01C5\"\n}, {\n base: 'E',\n letters: \"E\\u24BA\\uFF25\\xC8\\xC9\\xCA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\xCB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E\"\n}, {\n base: 'F',\n letters: \"F\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B\"\n}, {\n base: 'G',\n letters: \"G\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E\"\n}, {\n base: 'H',\n letters: \"H\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D\"\n}, {\n base: 'I',\n letters: \"I\\u24BE\\uFF29\\xCC\\xCD\\xCE\\u0128\\u012A\\u012C\\u0130\\xCF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197\"\n}, {\n base: 'J',\n letters: \"J\\u24BF\\uFF2A\\u0134\\u0248\"\n}, {\n base: 'K',\n letters: \"K\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2\"\n}, {\n base: 'L',\n letters: \"L\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780\"\n}, {\n base: 'LJ',\n letters: \"\\u01C7\"\n}, {\n base: 'Lj',\n letters: \"\\u01C8\"\n}, {\n base: 'M',\n letters: \"M\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C\"\n}, {\n base: 'N',\n letters: \"N\\u24C3\\uFF2E\\u01F8\\u0143\\xD1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4\"\n}, {\n base: 'NJ',\n letters: \"\\u01CA\"\n}, {\n base: 'Nj',\n letters: \"\\u01CB\"\n}, {\n base: 'O',\n letters: \"O\\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: 'OI',\n letters: \"\\u01A2\"\n}, {\n base: 'OO',\n letters: \"\\uA74E\"\n}, {\n base: 'OU',\n letters: \"\\u0222\"\n}, {\n base: 'P',\n letters: \"P\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754\"\n}, {\n base: 'Q',\n letters: \"Q\\u24C6\\uFF31\\uA756\\uA758\\u024A\"\n}, {\n base: 'R',\n letters: \"R\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782\"\n}, {\n base: 'S',\n letters: \"S\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784\"\n}, {\n base: 'T',\n letters: \"T\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786\"\n}, {\n base: 'TZ',\n letters: \"\\uA728\"\n}, {\n base: 'U',\n letters: \"U\\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 letters: \"V\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245\"\n}, {\n base: 'VY',\n letters: \"\\uA760\"\n}, {\n base: 'W',\n letters: \"W\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72\"\n}, {\n base: 'X',\n letters: \"X\\u24CD\\uFF38\\u1E8A\\u1E8C\"\n}, {\n base: 'Y',\n letters: \"Y\\u24CE\\uFF39\\u1EF2\\xDD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE\"\n}, {\n base: 'Z',\n letters: \"Z\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762\"\n}, {\n base: 'a',\n letters: \"a\\u24D0\\uFF41\\u1E9A\\xE0\\xE1\\xE2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\xE3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\xE4\\u01DF\\u1EA3\\xE5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250\"\n}, {\n base: 'aa',\n letters: \"\\uA733\"\n}, {\n base: 'ae',\n letters: \"\\xE6\\u01FD\\u01E3\"\n}, {\n base: 'ao',\n letters: \"\\uA735\"\n}, {\n base: 'au',\n letters: \"\\uA737\"\n}, {\n base: 'av',\n letters: \"\\uA739\\uA73B\"\n}, {\n base: 'ay',\n letters: \"\\uA73D\"\n}, {\n base: 'b',\n letters: \"b\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253\"\n}, {\n base: 'c',\n letters: \"c\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\xE7\\u1E09\\u0188\\u023C\\uA73F\\u2184\"\n}, {\n base: 'd',\n letters: \"d\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A\"\n}, {\n base: 'dz',\n letters: \"\\u01F3\\u01C6\"\n}, {\n base: 'e',\n letters: \"e\\u24D4\\uFF45\\xE8\\xE9\\xEA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\xEB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD\"\n}, {\n base: 'f',\n letters: \"f\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C\"\n}, {\n base: 'g',\n letters: \"g\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F\"\n}, {\n base: 'h',\n letters: \"h\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265\"\n}, {\n base: 'hv',\n letters: \"\\u0195\"\n}, {\n base: 'i',\n letters: \"i\\u24D8\\uFF49\\xEC\\xED\\xEE\\u0129\\u012B\\u012D\\xEF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131\"\n}, {\n base: 'j',\n letters: \"j\\u24D9\\uFF4A\\u0135\\u01F0\\u0249\"\n}, {\n base: 'k',\n letters: \"k\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3\"\n}, {\n base: 'l',\n letters: \"l\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747\"\n}, {\n base: 'lj',\n letters: \"\\u01C9\"\n}, {\n base: 'm',\n letters: \"m\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F\"\n}, {\n base: 'n',\n letters: \"n\\u24DD\\uFF4E\\u01F9\\u0144\\xF1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5\"\n}, {\n base: 'nj',\n letters: \"\\u01CC\"\n}, {\n base: 'o',\n letters: \"o\\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\\u0254\\uA74B\\uA74D\\u0275\"\n}, {\n base: 'oi',\n letters: \"\\u01A3\"\n}, {\n base: 'ou',\n letters: \"\\u0223\"\n}, {\n base: 'oo',\n letters: \"\\uA74F\"\n}, {\n base: 'p',\n letters: \"p\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755\"\n}, {\n base: 'q',\n letters: \"q\\u24E0\\uFF51\\u024B\\uA757\\uA759\"\n}, {\n base: 'r',\n letters: \"r\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783\"\n}, {\n base: 's',\n letters: \"s\\u24E2\\uFF53\\xDF\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B\"\n}, {\n base: 't',\n letters: \"t\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787\"\n}, {\n base: 'tz',\n letters: \"\\uA729\"\n}, {\n base: 'u',\n letters: \"u\\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 letters: \"v\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C\"\n}, {\n base: 'vy',\n letters: \"\\uA761\"\n}, {\n base: 'w',\n letters: \"w\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73\"\n}, {\n base: 'x',\n letters: \"x\\u24E7\\uFF58\\u1E8B\\u1E8D\"\n}, {\n base: 'y',\n letters: \"y\\u24E8\\uFF59\\u1EF3\\xFD\\u0177\\u1EF9\\u0233\\u1E8F\\xFF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF\"\n}, {\n base: 'z',\n letters: \"z\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763\"\n}];\nvar anyDiacritic = new RegExp('[' + diacritics.map(function (d) {\n return d.letters;\n}).join('') + ']', 'g');\nvar diacriticToBase = {};\n\nfor (var i = 0; i < diacritics.length; i++) {\n var diacritic = diacritics[i];\n\n for (var j = 0; j < diacritic.letters.length; j++) {\n diacriticToBase[diacritic.letters[j]] = diacritic.base;\n }\n}\n\nvar stripDiacritics = function stripDiacritics(str) {\n return str.replace(anyDiacritic, function (match) {\n return diacriticToBase[match];\n });\n};\n\nvar memoizedStripDiacriticsForInput = memoizeOne(stripDiacritics);\n\nvar trimString = function trimString(str) {\n return str.replace(/^\\s+|\\s+$/g, '');\n};\n\nvar defaultStringify = function defaultStringify(option) {\n return \"\".concat(option.label, \" \").concat(option.value);\n};\n\nvar createFilter = function createFilter(config) {\n return function (option, rawInput) {\n var _ignoreCase$ignoreAcc = _objectSpread2({\n ignoreCase: true,\n ignoreAccents: true,\n stringify: defaultStringify,\n trim: true,\n matchFrom: 'any'\n }, config),\n ignoreCase = _ignoreCase$ignoreAcc.ignoreCase,\n ignoreAccents = _ignoreCase$ignoreAcc.ignoreAccents,\n stringify = _ignoreCase$ignoreAcc.stringify,\n trim = _ignoreCase$ignoreAcc.trim,\n matchFrom = _ignoreCase$ignoreAcc.matchFrom;\n\n var input = trim ? trimString(rawInput) : rawInput;\n var candidate = trim ? trimString(stringify(option)) : stringify(option);\n\n if (ignoreCase) {\n input = input.toLowerCase();\n candidate = candidate.toLowerCase();\n }\n\n if (ignoreAccents) {\n input = memoizedStripDiacriticsForInput(input);\n candidate = stripDiacritics(candidate);\n }\n\n return matchFrom === 'start' ? candidate.substr(0, input.length) === input : candidate.indexOf(input) > -1;\n };\n};\n\nfunction DummyInput(_ref) {\n _ref.in;\n _ref.out;\n _ref.onExited;\n _ref.appear;\n _ref.enter;\n _ref.exit;\n var innerRef = _ref.innerRef;\n _ref.emotion;\n\n var props = _objectWithoutProperties(_ref, [\"in\", \"out\", \"onExited\", \"appear\", \"enter\", \"exit\", \"innerRef\", \"emotion\"]);\n\n return jsx(\"input\", _extends({\n ref: innerRef\n }, props, {\n css: /*#__PURE__*/css({\n label: 'dummyInput',\n // get rid of any default styles\n background: 0,\n border: 0,\n fontSize: 'inherit',\n outline: 0,\n padding: 0,\n // important! without `width` browsers won't allow focus\n width: 1,\n // remove cursor on desktop\n color: 'transparent',\n // remove cursor on mobile whilst maintaining \"scroll into view\" behaviour\n left: -100,\n opacity: 0,\n position: 'relative',\n transform: 'scale(0)'\n }, process.env.NODE_ENV === \"production\" ? \"\" : \";label:DummyInput;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR1bW15SW5wdXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJNIiwiZmlsZSI6IkR1bW15SW5wdXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIER1bW15SW5wdXQoe1xuICBpbjogaW5Qcm9wLFxuICBvdXQsXG4gIG9uRXhpdGVkLFxuICBhcHBlYXIsXG4gIGVudGVyLFxuICBleGl0LFxuICBpbm5lclJlZixcbiAgZW1vdGlvbixcbiAgLi4ucHJvcHNcbn06IGFueSkge1xuICByZXR1cm4gKFxuICAgIDxpbnB1dFxuICAgICAgcmVmPXtpbm5lclJlZn1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAgIGNzcz17e1xuICAgICAgICBsYWJlbDogJ2R1bW15SW5wdXQnLFxuICAgICAgICAvLyBnZXQgcmlkIG9mIGFueSBkZWZhdWx0IHN0eWxlc1xuICAgICAgICBiYWNrZ3JvdW5kOiAwLFxuICAgICAgICBib3JkZXI6IDAsXG4gICAgICAgIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gICAgICAgIG91dGxpbmU6IDAsXG4gICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgIC8vIGltcG9ydGFudCEgd2l0aG91dCBgd2lkdGhgIGJyb3dzZXJzIHdvbid0IGFsbG93IGZvY3VzXG4gICAgICAgIHdpZHRoOiAxLFxuXG4gICAgICAgIC8vIHJlbW92ZSBjdXJzb3Igb24gZGVza3RvcFxuICAgICAgICBjb2xvcjogJ3RyYW5zcGFyZW50JyxcblxuICAgICAgICAvLyByZW1vdmUgY3Vyc29yIG9uIG1vYmlsZSB3aGlsc3QgbWFpbnRhaW5pbmcgXCJzY3JvbGwgaW50byB2aWV3XCIgYmVoYXZpb3VyXG4gICAgICAgIGxlZnQ6IC0xMDAsXG4gICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZSgwKScsXG4gICAgICB9fVxuICAgIC8+XG4gICk7XG59XG4iXX0= */\")\n }));\n}\n\nvar cancelScroll = function cancelScroll(event) {\n event.preventDefault();\n event.stopPropagation();\n};\n\nfunction useScrollCapture(_ref) {\n var isEnabled = _ref.isEnabled,\n onBottomArrive = _ref.onBottomArrive,\n onBottomLeave = _ref.onBottomLeave,\n onTopArrive = _ref.onTopArrive,\n onTopLeave = _ref.onTopLeave;\n var isBottom = useRef(false);\n var isTop = useRef(false);\n var touchStart = useRef(0);\n var scrollTarget = useRef(null);\n var handleEventDelta = useCallback(function (event, delta) {\n // Reference should never be `null` at this point, but flow complains otherwise\n if (scrollTarget.current === null) return;\n var _scrollTarget$current = scrollTarget.current,\n scrollTop = _scrollTarget$current.scrollTop,\n scrollHeight = _scrollTarget$current.scrollHeight,\n clientHeight = _scrollTarget$current.clientHeight;\n var target = scrollTarget.current;\n var isDeltaPositive = delta > 0;\n var availableScroll = scrollHeight - clientHeight - scrollTop;\n var shouldCancelScroll = false; // reset bottom/top flags\n\n if (availableScroll > delta && isBottom.current) {\n if (onBottomLeave) onBottomLeave(event);\n isBottom.current = false;\n }\n\n if (isDeltaPositive && isTop.current) {\n if (onTopLeave) onTopLeave(event);\n isTop.current = false;\n } // bottom limit\n\n\n if (isDeltaPositive && delta > availableScroll) {\n if (onBottomArrive && !isBottom.current) {\n onBottomArrive(event);\n }\n\n target.scrollTop = scrollHeight;\n shouldCancelScroll = true;\n isBottom.current = true; // top limit\n } else if (!isDeltaPositive && -delta > scrollTop) {\n if (onTopArrive && !isTop.current) {\n onTopArrive(event);\n }\n\n target.scrollTop = 0;\n shouldCancelScroll = true;\n isTop.current = true;\n } // cancel scroll\n\n\n if (shouldCancelScroll) {\n cancelScroll(event);\n }\n }, []);\n var onWheel = useCallback(function (event) {\n handleEventDelta(event, event.deltaY);\n }, [handleEventDelta]);\n var onTouchStart = useCallback(function (event) {\n // set touch start so we can calculate touchmove delta\n touchStart.current = event.changedTouches[0].clientY;\n }, []);\n var onTouchMove = useCallback(function (event) {\n var deltaY = touchStart.current - event.changedTouches[0].clientY;\n handleEventDelta(event, deltaY);\n }, [handleEventDelta]);\n var startListening = useCallback(function (el) {\n // bail early if no element is available to attach to\n if (!el) return;\n var notPassive = supportsPassiveEvents ? {\n passive: false\n } : false; // all the if statements are to appease Flow 😢\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('wheel', onWheel, notPassive);\n }\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('touchstart', onTouchStart, notPassive);\n }\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('touchmove', onTouchMove, notPassive);\n }\n }, [onTouchMove, onTouchStart, onWheel]);\n var stopListening = useCallback(function (el) {\n // bail early if no element is available to detach from\n if (!el) return; // all the if statements are to appease Flow 😢\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('wheel', onWheel, false);\n }\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('touchstart', onTouchStart, false);\n }\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('touchmove', onTouchMove, false);\n }\n }, [onTouchMove, onTouchStart, onWheel]);\n useEffect(function () {\n if (!isEnabled) return;\n var element = scrollTarget.current;\n startListening(element);\n return function () {\n stopListening(element);\n };\n }, [isEnabled, startListening, stopListening]);\n return function (element) {\n scrollTarget.current = element;\n };\n}\n\nvar STYLE_KEYS = ['boxSizing', 'height', 'overflow', 'paddingRight', 'position'];\nvar LOCK_STYLES = {\n boxSizing: 'border-box',\n // account for possible declaration `width: 100%;` on body\n overflow: 'hidden',\n position: 'relative',\n height: '100%'\n};\n\nfunction preventTouchMove(e) {\n e.preventDefault();\n}\n\nfunction allowTouchMove(e) {\n e.stopPropagation();\n}\n\nfunction preventInertiaScroll() {\n var top = this.scrollTop;\n var totalScroll = this.scrollHeight;\n var currentScroll = top + this.offsetHeight;\n\n if (top === 0) {\n this.scrollTop = 1;\n } else if (currentScroll === totalScroll) {\n this.scrollTop = top - 1;\n }\n} // `ontouchstart` check works on most browsers\n// `maxTouchPoints` works on IE10/11 and Surface\n\n\nfunction isTouchDevice() {\n return 'ontouchstart' in window || navigator.maxTouchPoints;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nvar activeScrollLocks = 0;\nvar listenerOptions = {\n capture: false,\n passive: false\n};\n\nfunction useScrollLock(_ref) {\n var isEnabled = _ref.isEnabled,\n _ref$accountForScroll = _ref.accountForScrollbars,\n accountForScrollbars = _ref$accountForScroll === void 0 ? true : _ref$accountForScroll;\n var originalStyles = useRef({});\n var scrollTarget = useRef(null);\n var addScrollLock = useCallback(function (touchScrollTarget) {\n if (!canUseDOM) return;\n var target = document.body;\n var targetStyle = target && target.style;\n\n if (accountForScrollbars) {\n // store any styles already applied to the body\n STYLE_KEYS.forEach(function (key) {\n var val = targetStyle && targetStyle[key];\n originalStyles.current[key] = val;\n });\n } // apply the lock styles and padding if this is the first scroll lock\n\n\n if (accountForScrollbars && activeScrollLocks < 1) {\n var currentPadding = parseInt(originalStyles.current.paddingRight, 10) || 0;\n var clientWidth = document.body ? document.body.clientWidth : 0;\n var adjustedPadding = window.innerWidth - clientWidth + currentPadding || 0;\n Object.keys(LOCK_STYLES).forEach(function (key) {\n var val = LOCK_STYLES[key];\n\n if (targetStyle) {\n targetStyle[key] = val;\n }\n });\n\n if (targetStyle) {\n targetStyle.paddingRight = \"\".concat(adjustedPadding, \"px\");\n }\n } // account for touch devices\n\n\n if (target && isTouchDevice()) {\n // Mobile Safari ignores { overflow: hidden } declaration on the body.\n target.addEventListener('touchmove', preventTouchMove, listenerOptions); // Allow scroll on provided target\n\n if (touchScrollTarget) {\n touchScrollTarget.addEventListener('touchstart', preventInertiaScroll, listenerOptions);\n touchScrollTarget.addEventListener('touchmove', allowTouchMove, listenerOptions);\n }\n } // increment active scroll locks\n\n\n activeScrollLocks += 1;\n }, []);\n var removeScrollLock = useCallback(function (touchScrollTarget) {\n if (!canUseDOM) return;\n var target = document.body;\n var targetStyle = target && target.style; // safely decrement active scroll locks\n\n activeScrollLocks = Math.max(activeScrollLocks - 1, 0); // reapply original body styles, if any\n\n if (accountForScrollbars && activeScrollLocks < 1) {\n STYLE_KEYS.forEach(function (key) {\n var val = originalStyles.current[key];\n\n if (targetStyle) {\n targetStyle[key] = val;\n }\n });\n } // remove touch listeners\n\n\n if (target && isTouchDevice()) {\n target.removeEventListener('touchmove', preventTouchMove, listenerOptions);\n\n if (touchScrollTarget) {\n touchScrollTarget.removeEventListener('touchstart', preventInertiaScroll, listenerOptions);\n touchScrollTarget.removeEventListener('touchmove', allowTouchMove, listenerOptions);\n }\n }\n }, []);\n useEffect(function () {\n if (!isEnabled) return;\n var element = scrollTarget.current;\n addScrollLock(element);\n return function () {\n removeScrollLock(element);\n };\n }, [isEnabled, addScrollLock, removeScrollLock]);\n return function (element) {\n scrollTarget.current = element;\n };\n}\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__$1() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n}\n\nvar blurSelectInput = function blurSelectInput() {\n return document.activeElement && document.activeElement.blur();\n};\n\nvar _ref2 = process.env.NODE_ENV === \"production\" ? {\n name: \"1kfdb0e\",\n styles: \"position:fixed;left:0;bottom:0;right:0;top:0\"\n} : {\n name: \"bp8cua-ScrollManager\",\n styles: \"position:fixed;left:0;bottom:0;right:0;top:0;label:ScrollManager;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNjcm9sbE1hbmFnZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0RVIiwiZmlsZSI6IlNjcm9sbE1hbmFnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgUmVhY3QsIHsgdHlwZSBFbGVtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZVNjcm9sbENhcHR1cmUgZnJvbSAnLi91c2VTY3JvbGxDYXB0dXJlJztcbmltcG9ydCB1c2VTY3JvbGxMb2NrIGZyb20gJy4vdXNlU2Nyb2xsTG9jayc7XG5cbnR5cGUgUmVmQ2FsbGJhY2s8VD4gPSAoVCB8IG51bGwpID0+IHZvaWQ7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiAoUmVmQ2FsbGJhY2s8SFRNTEVsZW1lbnQ+KSA9PiBFbGVtZW50PCo+LFxuICBsb2NrRW5hYmxlZDogYm9vbGVhbixcbiAgY2FwdHVyZUVuYWJsZWQ6IGJvb2xlYW4sXG4gIG9uQm90dG9tQXJyaXZlPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MRWxlbWVudD4pID0+IHZvaWQsXG4gIG9uQm90dG9tTGVhdmU/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxFbGVtZW50PikgPT4gdm9pZCxcbiAgb25Ub3BBcnJpdmU/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxFbGVtZW50PikgPT4gdm9pZCxcbiAgb25Ub3BMZWF2ZT86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEVsZW1lbnQ+KSA9PiB2b2lkLFxufTtcblxuY29uc3QgYmx1clNlbGVjdElucHV0ID0gKCkgPT5cbiAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAmJiBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gU2Nyb2xsTWFuYWdlcih7XG4gIGNoaWxkcmVuLFxuICBsb2NrRW5hYmxlZCxcbiAgY2FwdHVyZUVuYWJsZWQgPSB0cnVlLFxuICBvbkJvdHRvbUFycml2ZSxcbiAgb25Cb3R0b21MZWF2ZSxcbiAgb25Ub3BBcnJpdmUsXG4gIG9uVG9wTGVhdmUsXG59OiBQcm9wcykge1xuICBjb25zdCBzZXRTY3JvbGxDYXB0dXJlVGFyZ2V0ID0gdXNlU2Nyb2xsQ2FwdHVyZSh7XG4gICAgaXNFbmFibGVkOiBjYXB0dXJlRW5hYmxlZCxcbiAgICBvbkJvdHRvbUFycml2ZSxcbiAgICBvbkJvdHRvbUxlYXZlLFxuICAgIG9uVG9wQXJyaXZlLFxuICAgIG9uVG9wTGVhdmUsXG4gIH0pO1xuICBjb25zdCBzZXRTY3JvbGxMb2NrVGFyZ2V0ID0gdXNlU2Nyb2xsTG9jayh7IGlzRW5hYmxlZDogbG9ja0VuYWJsZWQgfSk7XG5cbiAgY29uc3QgdGFyZ2V0UmVmID0gZWxlbWVudCA9PiB7XG4gICAgc2V0U2Nyb2xsQ2FwdHVyZVRhcmdldChlbGVtZW50KTtcbiAgICBzZXRTY3JvbGxMb2NrVGFyZ2V0KGVsZW1lbnQpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAge2xvY2tFbmFibGVkICYmIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIG9uQ2xpY2s9e2JsdXJTZWxlY3RJbnB1dH1cbiAgICAgICAgICBjc3M9e3sgcG9zaXRpb246ICdmaXhlZCcsIGxlZnQ6IDAsIGJvdHRvbTogMCwgcmlnaHQ6IDAsIHRvcDogMCB9fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHtjaGlsZHJlbih0YXJnZXRSZWYpfVxuICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICk7XG59XG4iXX0= */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1\n};\n\nfunction ScrollManager(_ref) {\n var children = _ref.children,\n lockEnabled = _ref.lockEnabled,\n _ref$captureEnabled = _ref.captureEnabled,\n captureEnabled = _ref$captureEnabled === void 0 ? true : _ref$captureEnabled,\n onBottomArrive = _ref.onBottomArrive,\n onBottomLeave = _ref.onBottomLeave,\n onTopArrive = _ref.onTopArrive,\n onTopLeave = _ref.onTopLeave;\n var setScrollCaptureTarget = useScrollCapture({\n isEnabled: captureEnabled,\n onBottomArrive: onBottomArrive,\n onBottomLeave: onBottomLeave,\n onTopArrive: onTopArrive,\n onTopLeave: onTopLeave\n });\n var setScrollLockTarget = useScrollLock({\n isEnabled: lockEnabled\n });\n\n var targetRef = function targetRef(element) {\n setScrollCaptureTarget(element);\n setScrollLockTarget(element);\n };\n\n return jsx(React.Fragment, null, lockEnabled && jsx(\"div\", {\n onClick: blurSelectInput,\n css: _ref2\n }), children(targetRef));\n}\n\nvar formatGroupLabel = function formatGroupLabel(group) {\n return group.label;\n};\n\nvar getOptionLabel = function getOptionLabel(option) {\n return option.label;\n};\n\nvar getOptionValue = function getOptionValue(option) {\n return option.value;\n};\n\nvar isOptionDisabled = function isOptionDisabled(option) {\n return !!option.isDisabled;\n};\n\nvar defaultStyles = {\n clearIndicator: clearIndicatorCSS,\n container: containerCSS,\n control: css$1,\n dropdownIndicator: dropdownIndicatorCSS,\n group: groupCSS,\n groupHeading: groupHeadingCSS,\n indicatorsContainer: indicatorsContainerCSS,\n indicatorSeparator: indicatorSeparatorCSS,\n input: inputCSS,\n loadingIndicator: loadingIndicatorCSS,\n loadingMessage: loadingMessageCSS,\n menu: menuCSS,\n menuList: menuListCSS,\n menuPortal: menuPortalCSS,\n multiValue: multiValueCSS,\n multiValueLabel: multiValueLabelCSS,\n multiValueRemove: multiValueRemoveCSS,\n noOptionsMessage: noOptionsMessageCSS,\n option: optionCSS,\n placeholder: placeholderCSS,\n singleValue: css$2,\n valueContainer: valueContainerCSS\n}; // Merge Utility\n// Allows consumers to extend a base Select with additional styles\n\nfunction mergeStyles(source) {\n var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; // initialize with source styles\n\n var styles = _objectSpread2({}, source); // massage in target styles\n\n\n Object.keys(target).forEach(function (key) {\n if (source[key]) {\n styles[key] = function (rsCss, props) {\n return target[key](source[key](rsCss, props), props);\n };\n } else {\n styles[key] = target[key];\n }\n });\n return styles;\n}\n\nvar colors = {\n primary: '#2684FF',\n primary75: '#4C9AFF',\n primary50: '#B2D4FF',\n primary25: '#DEEBFF',\n danger: '#DE350B',\n dangerLight: '#FFBDAD',\n neutral0: 'hsl(0, 0%, 100%)',\n neutral5: 'hsl(0, 0%, 95%)',\n neutral10: 'hsl(0, 0%, 90%)',\n neutral20: 'hsl(0, 0%, 80%)',\n neutral30: 'hsl(0, 0%, 70%)',\n neutral40: 'hsl(0, 0%, 60%)',\n neutral50: 'hsl(0, 0%, 50%)',\n neutral60: 'hsl(0, 0%, 40%)',\n neutral70: 'hsl(0, 0%, 30%)',\n neutral80: 'hsl(0, 0%, 20%)',\n neutral90: 'hsl(0, 0%, 10%)'\n};\nvar borderRadius = 4; // Used to calculate consistent margin/padding on elements\n\nvar baseUnit = 4; // The minimum height of the control\n\nvar controlHeight = 38; // The amount of space between the control and menu */\n\nvar menuGutter = baseUnit * 2;\nvar spacing = {\n baseUnit: baseUnit,\n controlHeight: controlHeight,\n menuGutter: menuGutter\n};\nvar defaultTheme = {\n borderRadius: borderRadius,\n colors: colors,\n spacing: spacing\n};\nvar defaultProps = {\n 'aria-live': 'polite',\n backspaceRemovesValue: true,\n blurInputOnSelect: isTouchCapable(),\n captureMenuScroll: !isTouchCapable(),\n closeMenuOnSelect: true,\n closeMenuOnScroll: false,\n components: {},\n controlShouldRenderValue: true,\n escapeClearsValue: false,\n filterOption: createFilter(),\n formatGroupLabel: formatGroupLabel,\n getOptionLabel: getOptionLabel,\n getOptionValue: getOptionValue,\n isDisabled: false,\n isLoading: false,\n isMulti: false,\n isRtl: false,\n isSearchable: true,\n isOptionDisabled: isOptionDisabled,\n loadingMessage: function loadingMessage() {\n return 'Loading...';\n },\n maxMenuHeight: 300,\n minMenuHeight: 140,\n menuIsOpen: false,\n menuPlacement: 'bottom',\n menuPosition: 'absolute',\n menuShouldBlockScroll: false,\n menuShouldScrollIntoView: !isMobileDevice(),\n noOptionsMessage: function noOptionsMessage() {\n return 'No options';\n },\n openMenuOnFocus: false,\n openMenuOnClick: true,\n options: [],\n pageSize: 5,\n placeholder: 'Select...',\n screenReaderStatus: function screenReaderStatus(_ref) {\n var count = _ref.count;\n return \"\".concat(count, \" result\").concat(count !== 1 ? 's' : '', \" available\");\n },\n styles: {},\n tabIndex: '0',\n tabSelectsValue: true\n};\n\nfunction toCategorizedOption(props, option, selectValue, index) {\n var isDisabled = _isOptionDisabled(props, option, selectValue);\n\n var isSelected = _isOptionSelected(props, option, selectValue);\n\n var label = getOptionLabel$1(props, option);\n var value = getOptionValue$1(props, option);\n return {\n type: 'option',\n data: option,\n isDisabled: isDisabled,\n isSelected: isSelected,\n label: label,\n value: value,\n index: index\n };\n}\n\nfunction buildCategorizedOptions(props, selectValue) {\n return props.options.map(function (groupOrOption, groupOrOptionIndex) {\n if (groupOrOption.options) {\n var categorizedOptions = groupOrOption.options.map(function (option, optionIndex) {\n return toCategorizedOption(props, option, selectValue, optionIndex);\n }).filter(function (categorizedOption) {\n return isFocusable(props, categorizedOption);\n });\n return categorizedOptions.length > 0 ? {\n type: 'group',\n data: groupOrOption,\n options: categorizedOptions,\n index: groupOrOptionIndex\n } : undefined;\n }\n\n var categorizedOption = toCategorizedOption(props, groupOrOption, selectValue, groupOrOptionIndex);\n return isFocusable(props, categorizedOption) ? categorizedOption : undefined;\n }) // Flow limitation (see https://github.com/facebook/flow/issues/1414)\n .filter(function (categorizedOption) {\n return !!categorizedOption;\n });\n}\n\nfunction buildFocusableOptionsFromCategorizedOptions(categorizedOptions) {\n return categorizedOptions.reduce(function (optionsAccumulator, categorizedOption) {\n if (categorizedOption.type === 'group') {\n optionsAccumulator.push.apply(optionsAccumulator, _toConsumableArray(categorizedOption.options.map(function (option) {\n return option.data;\n })));\n } else {\n optionsAccumulator.push(categorizedOption.data);\n }\n\n return optionsAccumulator;\n }, []);\n}\n\nfunction buildFocusableOptions(props, selectValue) {\n return buildFocusableOptionsFromCategorizedOptions(buildCategorizedOptions(props, selectValue));\n}\n\nfunction isFocusable(props, categorizedOption) {\n var _props$inputValue = props.inputValue,\n inputValue = _props$inputValue === void 0 ? '' : _props$inputValue;\n var data = categorizedOption.data,\n isSelected = categorizedOption.isSelected,\n label = categorizedOption.label,\n value = categorizedOption.value;\n return (!shouldHideSelectedOptions(props) || !isSelected) && _filterOption(props, {\n label: label,\n value: value,\n data: data\n }, inputValue);\n}\n\nfunction getNextFocusedValue(state, nextSelectValue) {\n var focusedValue = state.focusedValue,\n lastSelectValue = state.selectValue;\n var lastFocusedIndex = lastSelectValue.indexOf(focusedValue);\n\n if (lastFocusedIndex > -1) {\n var nextFocusedIndex = nextSelectValue.indexOf(focusedValue);\n\n if (nextFocusedIndex > -1) {\n // the focused value is still in the selectValue, return it\n return focusedValue;\n } else if (lastFocusedIndex < nextSelectValue.length) {\n // the focusedValue is not present in the next selectValue array by\n // reference, so return the new value at the same index\n return nextSelectValue[lastFocusedIndex];\n }\n }\n\n return null;\n}\n\nfunction getNextFocusedOption(state, options) {\n var lastFocusedOption = state.focusedOption;\n return lastFocusedOption && options.indexOf(lastFocusedOption) > -1 ? lastFocusedOption : options[0];\n}\n\nvar getOptionLabel$1 = function getOptionLabel(props, data) {\n return props.getOptionLabel(data);\n};\n\nvar getOptionValue$1 = function getOptionValue(props, data) {\n return props.getOptionValue(data);\n};\n\nfunction _isOptionDisabled(props, option, selectValue) {\n return typeof props.isOptionDisabled === 'function' ? props.isOptionDisabled(option, selectValue) : false;\n}\n\nfunction _isOptionSelected(props, option, selectValue) {\n if (selectValue.indexOf(option) > -1) return true;\n\n if (typeof props.isOptionSelected === 'function') {\n return props.isOptionSelected(option, selectValue);\n }\n\n var candidate = getOptionValue$1(props, option);\n return selectValue.some(function (i) {\n return getOptionValue$1(props, i) === candidate;\n });\n}\n\nfunction _filterOption(props, option, inputValue) {\n return props.filterOption ? props.filterOption(option, inputValue) : true;\n}\n\nvar shouldHideSelectedOptions = function shouldHideSelectedOptions(props) {\n var hideSelectedOptions = props.hideSelectedOptions,\n isMulti = props.isMulti;\n if (hideSelectedOptions === undefined) return isMulti;\n return hideSelectedOptions;\n};\n\nvar instanceId = 1;\n\nvar Select = /*#__PURE__*/function (_Component) {\n _inherits(Select, _Component);\n\n var _super = _createSuper(Select); // Misc. Instance Properties\n // ------------------------------\n // TODO\n // Refs\n // ------------------------------\n // Lifecycle\n // ------------------------------\n\n\n function Select(_props) {\n var _this;\n\n _classCallCheck(this, Select);\n\n _this = _super.call(this, _props);\n _this.state = {\n ariaSelection: null,\n focusedOption: null,\n focusedValue: null,\n inputIsHidden: false,\n isFocused: false,\n selectValue: [],\n clearFocusValueOnUpdate: false,\n inputIsHiddenAfterUpdate: undefined,\n prevProps: undefined\n };\n _this.blockOptionHover = false;\n _this.isComposing = false;\n _this.commonProps = void 0;\n _this.initialTouchX = 0;\n _this.initialTouchY = 0;\n _this.instancePrefix = '';\n _this.openAfterFocus = false;\n _this.scrollToFocusedOptionOnUpdate = false;\n _this.userIsDragging = void 0;\n _this.controlRef = null;\n\n _this.getControlRef = function (ref) {\n _this.controlRef = ref;\n };\n\n _this.focusedOptionRef = null;\n\n _this.getFocusedOptionRef = function (ref) {\n _this.focusedOptionRef = ref;\n };\n\n _this.menuListRef = null;\n\n _this.getMenuListRef = function (ref) {\n _this.menuListRef = ref;\n };\n\n _this.inputRef = null;\n\n _this.getInputRef = function (ref) {\n _this.inputRef = ref;\n };\n\n _this.focus = _this.focusInput;\n _this.blur = _this.blurInput;\n\n _this.onChange = function (newValue, actionMeta) {\n var _this$props = _this.props,\n onChange = _this$props.onChange,\n name = _this$props.name;\n actionMeta.name = name;\n\n _this.ariaOnChange(newValue, actionMeta);\n\n onChange(newValue, actionMeta);\n };\n\n _this.setValue = function (newValue) {\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'set-value';\n var option = arguments.length > 2 ? arguments[2] : undefined;\n var _this$props2 = _this.props,\n closeMenuOnSelect = _this$props2.closeMenuOnSelect,\n isMulti = _this$props2.isMulti;\n\n _this.onInputChange('', {\n action: 'set-value'\n });\n\n if (closeMenuOnSelect) {\n _this.setState({\n inputIsHiddenAfterUpdate: !isMulti\n });\n\n _this.onMenuClose();\n } // when the select value should change, we should reset focusedValue\n\n\n _this.setState({\n clearFocusValueOnUpdate: true\n });\n\n _this.onChange(newValue, {\n action: action,\n option: option\n });\n };\n\n _this.selectOption = function (newValue) {\n var _this$props3 = _this.props,\n blurInputOnSelect = _this$props3.blurInputOnSelect,\n isMulti = _this$props3.isMulti,\n name = _this$props3.name;\n var selectValue = _this.state.selectValue;\n\n var deselected = isMulti && _this.isOptionSelected(newValue, selectValue);\n\n var isDisabled = _this.isOptionDisabled(newValue, selectValue);\n\n if (deselected) {\n var candidate = _this.getOptionValue(newValue);\n\n _this.setValue(selectValue.filter(function (i) {\n return _this.getOptionValue(i) !== candidate;\n }), 'deselect-option', newValue);\n } else if (!isDisabled) {\n // Select option if option is not disabled\n if (isMulti) {\n _this.setValue([].concat(_toConsumableArray(selectValue), [newValue]), 'select-option', newValue);\n } else {\n _this.setValue(newValue, 'select-option');\n }\n } else {\n _this.ariaOnChange(newValue, {\n action: 'select-option',\n name: name\n });\n\n return;\n }\n\n if (blurInputOnSelect) {\n _this.blurInput();\n }\n };\n\n _this.removeValue = function (removedValue) {\n var isMulti = _this.props.isMulti;\n var selectValue = _this.state.selectValue;\n\n var candidate = _this.getOptionValue(removedValue);\n\n var newValueArray = selectValue.filter(function (i) {\n return _this.getOptionValue(i) !== candidate;\n });\n var newValue = isMulti ? newValueArray : newValueArray[0] || null;\n\n _this.onChange(newValue, {\n action: 'remove-value',\n removedValue: removedValue\n });\n\n _this.focusInput();\n };\n\n _this.clearValue = function () {\n var selectValue = _this.state.selectValue;\n\n _this.onChange(_this.props.isMulti ? [] : null, {\n action: 'clear',\n removedValues: selectValue\n });\n };\n\n _this.popValue = function () {\n var isMulti = _this.props.isMulti;\n var selectValue = _this.state.selectValue;\n var lastSelectedValue = selectValue[selectValue.length - 1];\n var newValueArray = selectValue.slice(0, selectValue.length - 1);\n var newValue = isMulti ? newValueArray : newValueArray[0] || null;\n\n _this.onChange(newValue, {\n action: 'pop-value',\n removedValue: lastSelectedValue\n });\n };\n\n _this.getValue = function () {\n return _this.state.selectValue;\n };\n\n _this.cx = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return classNames.apply(void 0, [_this.props.classNamePrefix].concat(args));\n };\n\n _this.getOptionLabel = function (data) {\n return getOptionLabel$1(_this.props, data);\n };\n\n _this.getOptionValue = function (data) {\n return getOptionValue$1(_this.props, data);\n };\n\n _this.getStyles = function (key, props) {\n var base = defaultStyles[key](props);\n base.boxSizing = 'border-box';\n var custom = _this.props.styles[key];\n return custom ? custom(base, props) : base;\n };\n\n _this.getElementId = function (element) {\n return \"\".concat(_this.instancePrefix, \"-\").concat(element);\n };\n\n _this.getComponents = function () {\n return defaultComponents(_this.props);\n };\n\n _this.buildCategorizedOptions = function () {\n return buildCategorizedOptions(_this.props, _this.state.selectValue);\n };\n\n _this.getCategorizedOptions = function () {\n return _this.props.menuIsOpen ? _this.buildCategorizedOptions() : [];\n };\n\n _this.buildFocusableOptions = function () {\n return buildFocusableOptionsFromCategorizedOptions(_this.buildCategorizedOptions());\n };\n\n _this.getFocusableOptions = function () {\n return _this.props.menuIsOpen ? _this.buildFocusableOptions() : [];\n };\n\n _this.ariaOnChange = function (value, actionMeta) {\n _this.setState({\n ariaSelection: _objectSpread2({\n value: value\n }, actionMeta)\n });\n };\n\n _this.onMenuMouseDown = function (event) {\n if (event.button !== 0) {\n return;\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n _this.focusInput();\n };\n\n _this.onMenuMouseMove = function (event) {\n _this.blockOptionHover = false;\n };\n\n _this.onControlMouseDown = function (event) {\n var openMenuOnClick = _this.props.openMenuOnClick;\n\n if (!_this.state.isFocused) {\n if (openMenuOnClick) {\n _this.openAfterFocus = true;\n }\n\n _this.focusInput();\n } else if (!_this.props.menuIsOpen) {\n if (openMenuOnClick) {\n _this.openMenu('first');\n }\n } else {\n if ( // $FlowFixMe\n event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {\n _this.onMenuClose();\n }\n }\n\n if ( // $FlowFixMe\n event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {\n event.preventDefault();\n }\n };\n\n _this.onDropdownIndicatorMouseDown = function (event) {\n // ignore mouse events that weren't triggered by the primary button\n if (event && event.type === 'mousedown' && event.button !== 0) {\n return;\n }\n\n if (_this.props.isDisabled) return;\n var _this$props4 = _this.props,\n isMulti = _this$props4.isMulti,\n menuIsOpen = _this$props4.menuIsOpen;\n\n _this.focusInput();\n\n if (menuIsOpen) {\n _this.setState({\n inputIsHiddenAfterUpdate: !isMulti\n });\n\n _this.onMenuClose();\n } else {\n _this.openMenu('first');\n }\n\n event.preventDefault();\n event.stopPropagation();\n };\n\n _this.onClearIndicatorMouseDown = function (event) {\n // ignore mouse events that weren't triggered by the primary button\n if (event && event.type === 'mousedown' && event.button !== 0) {\n return;\n }\n\n _this.clearValue();\n\n event.stopPropagation();\n _this.openAfterFocus = false;\n\n if (event.type === 'touchend') {\n _this.focusInput();\n } else {\n setTimeout(function () {\n return _this.focusInput();\n });\n }\n };\n\n _this.onScroll = function (event) {\n if (typeof _this.props.closeMenuOnScroll === 'boolean') {\n if (event.target instanceof HTMLElement && isDocumentElement(event.target)) {\n _this.props.onMenuClose();\n }\n } else if (typeof _this.props.closeMenuOnScroll === 'function') {\n if (_this.props.closeMenuOnScroll(event)) {\n _this.props.onMenuClose();\n }\n }\n };\n\n _this.onCompositionStart = function () {\n _this.isComposing = true;\n };\n\n _this.onCompositionEnd = function () {\n _this.isComposing = false;\n };\n\n _this.onTouchStart = function (_ref2) {\n var touches = _ref2.touches;\n var touch = touches && touches.item(0);\n\n if (!touch) {\n return;\n }\n\n _this.initialTouchX = touch.clientX;\n _this.initialTouchY = touch.clientY;\n _this.userIsDragging = false;\n };\n\n _this.onTouchMove = function (_ref3) {\n var touches = _ref3.touches;\n var touch = touches && touches.item(0);\n\n if (!touch) {\n return;\n }\n\n var deltaX = Math.abs(touch.clientX - _this.initialTouchX);\n var deltaY = Math.abs(touch.clientY - _this.initialTouchY);\n var moveThreshold = 5;\n _this.userIsDragging = deltaX > moveThreshold || deltaY > moveThreshold;\n };\n\n _this.onTouchEnd = function (event) {\n if (_this.userIsDragging) return; // close the menu if the user taps outside\n // we're checking on event.target here instead of event.currentTarget, because we want to assert information\n // on events on child elements, not the document (which we've attached this handler to).\n\n if (_this.controlRef && !_this.controlRef.contains(event.target) && _this.menuListRef && !_this.menuListRef.contains(event.target)) {\n _this.blurInput();\n } // reset move vars\n\n\n _this.initialTouchX = 0;\n _this.initialTouchY = 0;\n };\n\n _this.onControlTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onControlMouseDown(event);\n };\n\n _this.onClearIndicatorTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onClearIndicatorMouseDown(event);\n };\n\n _this.onDropdownIndicatorTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onDropdownIndicatorMouseDown(event);\n };\n\n _this.handleInputChange = function (event) {\n var inputValue = event.currentTarget.value;\n\n _this.setState({\n inputIsHiddenAfterUpdate: false\n });\n\n _this.onInputChange(inputValue, {\n action: 'input-change'\n });\n\n if (!_this.props.menuIsOpen) {\n _this.onMenuOpen();\n }\n };\n\n _this.onInputFocus = function (event) {\n if (_this.props.onFocus) {\n _this.props.onFocus(event);\n }\n\n _this.setState({\n inputIsHiddenAfterUpdate: false,\n isFocused: true\n });\n\n if (_this.openAfterFocus || _this.props.openMenuOnFocus) {\n _this.openMenu('first');\n }\n\n _this.openAfterFocus = false;\n };\n\n _this.onInputBlur = function (event) {\n if (_this.menuListRef && _this.menuListRef.contains(document.activeElement)) {\n _this.inputRef.focus();\n\n return;\n }\n\n if (_this.props.onBlur) {\n _this.props.onBlur(event);\n }\n\n _this.onInputChange('', {\n action: 'input-blur'\n });\n\n _this.onMenuClose();\n\n _this.setState({\n focusedValue: null,\n isFocused: false\n });\n };\n\n _this.onOptionHover = function (focusedOption) {\n if (_this.blockOptionHover || _this.state.focusedOption === focusedOption) {\n return;\n }\n\n _this.setState({\n focusedOption: focusedOption\n });\n };\n\n _this.shouldHideSelectedOptions = function () {\n return shouldHideSelectedOptions(_this.props);\n };\n\n _this.onKeyDown = function (event) {\n var _this$props5 = _this.props,\n isMulti = _this$props5.isMulti,\n backspaceRemovesValue = _this$props5.backspaceRemovesValue,\n escapeClearsValue = _this$props5.escapeClearsValue,\n inputValue = _this$props5.inputValue,\n isClearable = _this$props5.isClearable,\n isDisabled = _this$props5.isDisabled,\n menuIsOpen = _this$props5.menuIsOpen,\n onKeyDown = _this$props5.onKeyDown,\n tabSelectsValue = _this$props5.tabSelectsValue,\n openMenuOnFocus = _this$props5.openMenuOnFocus;\n var _this$state = _this.state,\n focusedOption = _this$state.focusedOption,\n focusedValue = _this$state.focusedValue,\n selectValue = _this$state.selectValue;\n if (isDisabled) return;\n\n if (typeof onKeyDown === 'function') {\n onKeyDown(event);\n\n if (event.defaultPrevented) {\n return;\n }\n } // Block option hover events when the user has just pressed a key\n\n\n _this.blockOptionHover = true;\n\n switch (event.key) {\n case 'ArrowLeft':\n if (!isMulti || inputValue) return;\n\n _this.focusValue('previous');\n\n break;\n\n case 'ArrowRight':\n if (!isMulti || inputValue) return;\n\n _this.focusValue('next');\n\n break;\n\n case 'Delete':\n case 'Backspace':\n if (inputValue) return;\n\n if (focusedValue) {\n _this.removeValue(focusedValue);\n } else {\n if (!backspaceRemovesValue) return;\n\n if (isMulti) {\n _this.popValue();\n } else if (isClearable) {\n _this.clearValue();\n }\n }\n\n break;\n\n case 'Tab':\n if (_this.isComposing) return;\n\n if (event.shiftKey || !menuIsOpen || !tabSelectsValue || !focusedOption || // don't capture the event if the menu opens on focus and the focused\n // option is already selected; it breaks the flow of navigation\n openMenuOnFocus && _this.isOptionSelected(focusedOption, selectValue)) {\n return;\n }\n\n _this.selectOption(focusedOption);\n\n break;\n\n case 'Enter':\n if (event.keyCode === 229) {\n // ignore the keydown event from an Input Method Editor(IME)\n // ref. https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode\n break;\n }\n\n if (menuIsOpen) {\n if (!focusedOption) return;\n if (_this.isComposing) return;\n\n _this.selectOption(focusedOption);\n\n break;\n }\n\n return;\n\n case 'Escape':\n if (menuIsOpen) {\n _this.setState({\n inputIsHiddenAfterUpdate: false\n });\n\n _this.onInputChange('', {\n action: 'menu-close'\n });\n\n _this.onMenuClose();\n } else if (isClearable && escapeClearsValue) {\n _this.clearValue();\n }\n\n break;\n\n case ' ':\n // space\n if (inputValue) {\n return;\n }\n\n if (!menuIsOpen) {\n _this.openMenu('first');\n\n break;\n }\n\n if (!focusedOption) return;\n\n _this.selectOption(focusedOption);\n\n break;\n\n case 'ArrowUp':\n if (menuIsOpen) {\n _this.focusOption('up');\n } else {\n _this.openMenu('last');\n }\n\n break;\n\n case 'ArrowDown':\n if (menuIsOpen) {\n _this.focusOption('down');\n } else {\n _this.openMenu('first');\n }\n\n break;\n\n case 'PageUp':\n if (!menuIsOpen) return;\n\n _this.focusOption('pageup');\n\n break;\n\n case 'PageDown':\n if (!menuIsOpen) return;\n\n _this.focusOption('pagedown');\n\n break;\n\n case 'Home':\n if (!menuIsOpen) return;\n\n _this.focusOption('first');\n\n break;\n\n case 'End':\n if (!menuIsOpen) return;\n\n _this.focusOption('last');\n\n break;\n\n default:\n return;\n }\n\n event.preventDefault();\n };\n\n _this.instancePrefix = 'react-select-' + (_this.props.instanceId || ++instanceId);\n _this.state.selectValue = cleanValue(_props.value);\n return _this;\n }\n\n _createClass(Select, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.startListeningComposition();\n this.startListeningToTouch();\n\n if (this.props.closeMenuOnScroll && document && document.addEventListener) {\n // Listen to all scroll events, and filter them out inside of 'onScroll'\n document.addEventListener('scroll', this.onScroll, true);\n }\n\n if (this.props.autoFocus) {\n this.focusInput();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props6 = this.props,\n isDisabled = _this$props6.isDisabled,\n menuIsOpen = _this$props6.menuIsOpen;\n var isFocused = this.state.isFocused;\n\n if ( // ensure focus is restored correctly when the control becomes enabled\n isFocused && !isDisabled && prevProps.isDisabled || // ensure focus is on the Input when the menu opens\n isFocused && menuIsOpen && !prevProps.menuIsOpen) {\n this.focusInput();\n }\n\n if (isFocused && isDisabled && !prevProps.isDisabled) {\n // ensure select state gets blurred in case Select is programatically disabled while focused\n this.setState({\n isFocused: false\n }, this.onMenuClose);\n } // scroll the focused option into view if necessary\n\n\n if (this.menuListRef && this.focusedOptionRef && this.scrollToFocusedOptionOnUpdate) {\n scrollIntoView(this.menuListRef, this.focusedOptionRef);\n this.scrollToFocusedOptionOnUpdate = false;\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.stopListeningComposition();\n this.stopListeningToTouch();\n document.removeEventListener('scroll', this.onScroll, true);\n } // ==============================\n // Consumer Handlers\n // ==============================\n\n }, {\n key: \"onMenuOpen\",\n value: function onMenuOpen() {\n this.props.onMenuOpen();\n }\n }, {\n key: \"onMenuClose\",\n value: function onMenuClose() {\n this.onInputChange('', {\n action: 'menu-close'\n });\n this.props.onMenuClose();\n }\n }, {\n key: \"onInputChange\",\n value: function onInputChange(newValue, actionMeta) {\n this.props.onInputChange(newValue, actionMeta);\n } // ==============================\n // Methods\n // ==============================\n\n }, {\n key: \"focusInput\",\n value: function focusInput() {\n if (!this.inputRef) return;\n this.inputRef.focus();\n }\n }, {\n key: \"blurInput\",\n value: function blurInput() {\n if (!this.inputRef) return;\n this.inputRef.blur();\n } // aliased for consumers\n\n }, {\n key: \"openMenu\",\n value: function openMenu(focusOption) {\n var _this2 = this;\n\n var _this$state2 = this.state,\n selectValue = _this$state2.selectValue,\n isFocused = _this$state2.isFocused;\n var focusableOptions = this.buildFocusableOptions();\n var openAtIndex = focusOption === 'first' ? 0 : focusableOptions.length - 1;\n\n if (!this.props.isMulti) {\n var selectedIndex = focusableOptions.indexOf(selectValue[0]);\n\n if (selectedIndex > -1) {\n openAtIndex = selectedIndex;\n }\n } // only scroll if the menu isn't already open\n\n\n this.scrollToFocusedOptionOnUpdate = !(isFocused && this.menuListRef);\n this.setState({\n inputIsHiddenAfterUpdate: false,\n focusedValue: null,\n focusedOption: focusableOptions[openAtIndex]\n }, function () {\n return _this2.onMenuOpen();\n });\n }\n }, {\n key: \"focusValue\",\n value: function focusValue(direction) {\n var _this$state3 = this.state,\n selectValue = _this$state3.selectValue,\n focusedValue = _this$state3.focusedValue; // Only multiselects support value focusing\n\n if (!this.props.isMulti) return;\n this.setState({\n focusedOption: null\n });\n var focusedIndex = selectValue.indexOf(focusedValue);\n\n if (!focusedValue) {\n focusedIndex = -1;\n }\n\n var lastIndex = selectValue.length - 1;\n var nextFocus = -1;\n if (!selectValue.length) return;\n\n switch (direction) {\n case 'previous':\n if (focusedIndex === 0) {\n // don't cycle from the start to the end\n nextFocus = 0;\n } else if (focusedIndex === -1) {\n // if nothing is focused, focus the last value first\n nextFocus = lastIndex;\n } else {\n nextFocus = focusedIndex - 1;\n }\n\n break;\n\n case 'next':\n if (focusedIndex > -1 && focusedIndex < lastIndex) {\n nextFocus = focusedIndex + 1;\n }\n\n break;\n }\n\n this.setState({\n inputIsHidden: nextFocus !== -1,\n focusedValue: selectValue[nextFocus]\n });\n }\n }, {\n key: \"focusOption\",\n value: function focusOption() {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'first';\n var pageSize = this.props.pageSize;\n var focusedOption = this.state.focusedOption;\n var options = this.getFocusableOptions();\n if (!options.length) return;\n var nextFocus = 0; // handles 'first'\n\n var focusedIndex = options.indexOf(focusedOption);\n\n if (!focusedOption) {\n focusedIndex = -1;\n }\n\n if (direction === 'up') {\n nextFocus = focusedIndex > 0 ? focusedIndex - 1 : options.length - 1;\n } else if (direction === 'down') {\n nextFocus = (focusedIndex + 1) % options.length;\n } else if (direction === 'pageup') {\n nextFocus = focusedIndex - pageSize;\n if (nextFocus < 0) nextFocus = 0;\n } else if (direction === 'pagedown') {\n nextFocus = focusedIndex + pageSize;\n if (nextFocus > options.length - 1) nextFocus = options.length - 1;\n } else if (direction === 'last') {\n nextFocus = options.length - 1;\n }\n\n this.scrollToFocusedOptionOnUpdate = true;\n this.setState({\n focusedOption: options[nextFocus],\n focusedValue: null\n });\n }\n }, {\n key: \"getTheme\",\n value: // ==============================\n // Getters\n // ==============================\n function getTheme() {\n // Use the default theme if there are no customizations.\n if (!this.props.theme) {\n return defaultTheme;\n } // If the theme prop is a function, assume the function\n // knows how to merge the passed-in default theme with\n // its own modifications.\n\n\n if (typeof this.props.theme === 'function') {\n return this.props.theme(defaultTheme);\n } // Otherwise, if a plain theme object was passed in,\n // overlay it with the default theme.\n\n\n return _objectSpread2(_objectSpread2({}, defaultTheme), this.props.theme);\n }\n }, {\n key: \"getCommonProps\",\n value: function getCommonProps() {\n var clearValue = this.clearValue,\n cx = this.cx,\n getStyles = this.getStyles,\n getValue = this.getValue,\n selectOption = this.selectOption,\n setValue = this.setValue,\n props = this.props;\n var isMulti = props.isMulti,\n isRtl = props.isRtl,\n options = props.options;\n var hasValue = this.hasValue();\n return {\n clearValue: clearValue,\n cx: cx,\n getStyles: getStyles,\n getValue: getValue,\n hasValue: hasValue,\n isMulti: isMulti,\n isRtl: isRtl,\n options: options,\n selectOption: selectOption,\n selectProps: props,\n setValue: setValue,\n theme: this.getTheme()\n };\n }\n }, {\n key: \"hasValue\",\n value: function hasValue() {\n var selectValue = this.state.selectValue;\n return selectValue.length > 0;\n }\n }, {\n key: \"hasOptions\",\n value: function hasOptions() {\n return !!this.getFocusableOptions().length;\n }\n }, {\n key: \"isClearable\",\n value: function isClearable() {\n var _this$props7 = this.props,\n isClearable = _this$props7.isClearable,\n isMulti = _this$props7.isMulti; // single select, by default, IS NOT clearable\n // multi select, by default, IS clearable\n\n if (isClearable === undefined) return isMulti;\n return isClearable;\n }\n }, {\n key: \"isOptionDisabled\",\n value: function isOptionDisabled(option, selectValue) {\n return _isOptionDisabled(this.props, option, selectValue);\n }\n }, {\n key: \"isOptionSelected\",\n value: function isOptionSelected(option, selectValue) {\n return _isOptionSelected(this.props, option, selectValue);\n }\n }, {\n key: \"filterOption\",\n value: function filterOption(option, inputValue) {\n return _filterOption(this.props, option, inputValue);\n }\n }, {\n key: \"formatOptionLabel\",\n value: function formatOptionLabel(data, context) {\n if (typeof this.props.formatOptionLabel === 'function') {\n var inputValue = this.props.inputValue;\n var selectValue = this.state.selectValue;\n return this.props.formatOptionLabel(data, {\n context: context,\n inputValue: inputValue,\n selectValue: selectValue\n });\n } else {\n return this.getOptionLabel(data);\n }\n }\n }, {\n key: \"formatGroupLabel\",\n value: function formatGroupLabel(data) {\n return this.props.formatGroupLabel(data);\n } // ==============================\n // Mouse Handlers\n // ==============================\n\n }, {\n key: \"startListeningComposition\",\n value: // ==============================\n // Composition Handlers\n // ==============================\n function startListeningComposition() {\n if (document && document.addEventListener) {\n document.addEventListener('compositionstart', this.onCompositionStart, false);\n document.addEventListener('compositionend', this.onCompositionEnd, false);\n }\n }\n }, {\n key: \"stopListeningComposition\",\n value: function stopListeningComposition() {\n if (document && document.removeEventListener) {\n document.removeEventListener('compositionstart', this.onCompositionStart);\n document.removeEventListener('compositionend', this.onCompositionEnd);\n }\n }\n }, {\n key: \"startListeningToTouch\",\n value: // ==============================\n // Touch Handlers\n // ==============================\n function startListeningToTouch() {\n if (document && document.addEventListener) {\n document.addEventListener('touchstart', this.onTouchStart, false);\n document.addEventListener('touchmove', this.onTouchMove, false);\n document.addEventListener('touchend', this.onTouchEnd, false);\n }\n }\n }, {\n key: \"stopListeningToTouch\",\n value: function stopListeningToTouch() {\n if (document && document.removeEventListener) {\n document.removeEventListener('touchstart', this.onTouchStart);\n document.removeEventListener('touchmove', this.onTouchMove);\n document.removeEventListener('touchend', this.onTouchEnd);\n }\n }\n }, {\n key: \"renderInput\",\n value: // ==============================\n // Renderers\n // ==============================\n function renderInput() {\n var _this$props8 = this.props,\n isDisabled = _this$props8.isDisabled,\n isSearchable = _this$props8.isSearchable,\n inputId = _this$props8.inputId,\n inputValue = _this$props8.inputValue,\n tabIndex = _this$props8.tabIndex,\n form = _this$props8.form;\n\n var _this$getComponents = this.getComponents(),\n Input = _this$getComponents.Input;\n\n var inputIsHidden = this.state.inputIsHidden;\n var commonProps = this.commonProps;\n var id = inputId || this.getElementId('input'); // aria attributes makes the JSX \"noisy\", separated for clarity\n\n var ariaAttributes = {\n 'aria-autocomplete': 'list',\n 'aria-label': this.props['aria-label'],\n 'aria-labelledby': this.props['aria-labelledby']\n };\n\n if (!isSearchable) {\n // use a dummy input to maintain focus/blur functionality\n return /*#__PURE__*/React.createElement(DummyInput, _extends({\n id: id,\n innerRef: this.getInputRef,\n onBlur: this.onInputBlur,\n onChange: noop,\n onFocus: this.onInputFocus,\n readOnly: true,\n disabled: isDisabled,\n tabIndex: tabIndex,\n form: form,\n value: \"\"\n }, ariaAttributes));\n }\n\n return /*#__PURE__*/React.createElement(Input, _extends({}, commonProps, {\n autoCapitalize: \"none\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n id: id,\n innerRef: this.getInputRef,\n isDisabled: isDisabled,\n isHidden: inputIsHidden,\n onBlur: this.onInputBlur,\n onChange: this.handleInputChange,\n onFocus: this.onInputFocus,\n spellCheck: \"false\",\n tabIndex: tabIndex,\n form: form,\n type: \"text\",\n value: inputValue\n }, ariaAttributes));\n }\n }, {\n key: \"renderPlaceholderOrValue\",\n value: function renderPlaceholderOrValue() {\n var _this3 = this;\n\n var _this$getComponents2 = this.getComponents(),\n MultiValue = _this$getComponents2.MultiValue,\n MultiValueContainer = _this$getComponents2.MultiValueContainer,\n MultiValueLabel = _this$getComponents2.MultiValueLabel,\n MultiValueRemove = _this$getComponents2.MultiValueRemove,\n SingleValue = _this$getComponents2.SingleValue,\n Placeholder = _this$getComponents2.Placeholder;\n\n var commonProps = this.commonProps;\n var _this$props9 = this.props,\n controlShouldRenderValue = _this$props9.controlShouldRenderValue,\n isDisabled = _this$props9.isDisabled,\n isMulti = _this$props9.isMulti,\n inputValue = _this$props9.inputValue,\n placeholder = _this$props9.placeholder;\n var _this$state4 = this.state,\n selectValue = _this$state4.selectValue,\n focusedValue = _this$state4.focusedValue,\n isFocused = _this$state4.isFocused;\n\n if (!this.hasValue() || !controlShouldRenderValue) {\n return inputValue ? null : /*#__PURE__*/React.createElement(Placeholder, _extends({}, commonProps, {\n key: \"placeholder\",\n isDisabled: isDisabled,\n isFocused: isFocused\n }), placeholder);\n }\n\n if (isMulti) {\n var selectValues = selectValue.map(function (opt, index) {\n var isOptionFocused = opt === focusedValue;\n return /*#__PURE__*/React.createElement(MultiValue, _extends({}, commonProps, {\n components: {\n Container: MultiValueContainer,\n Label: MultiValueLabel,\n Remove: MultiValueRemove\n },\n isFocused: isOptionFocused,\n isDisabled: isDisabled,\n key: \"\".concat(_this3.getOptionValue(opt)).concat(index),\n index: index,\n removeProps: {\n onClick: function onClick() {\n return _this3.removeValue(opt);\n },\n onTouchEnd: function onTouchEnd() {\n return _this3.removeValue(opt);\n },\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n data: opt\n }), _this3.formatOptionLabel(opt, 'value'));\n });\n return selectValues;\n }\n\n if (inputValue) {\n return null;\n }\n\n var singleValue = selectValue[0];\n return /*#__PURE__*/React.createElement(SingleValue, _extends({}, commonProps, {\n data: singleValue,\n isDisabled: isDisabled\n }), this.formatOptionLabel(singleValue, 'value'));\n }\n }, {\n key: \"renderClearIndicator\",\n value: function renderClearIndicator() {\n var _this$getComponents3 = this.getComponents(),\n ClearIndicator = _this$getComponents3.ClearIndicator;\n\n var commonProps = this.commonProps;\n var _this$props10 = this.props,\n isDisabled = _this$props10.isDisabled,\n isLoading = _this$props10.isLoading;\n var isFocused = this.state.isFocused;\n\n if (!this.isClearable() || !ClearIndicator || isDisabled || !this.hasValue() || isLoading) {\n return null;\n }\n\n var innerProps = {\n onMouseDown: this.onClearIndicatorMouseDown,\n onTouchEnd: this.onClearIndicatorTouchEnd,\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(ClearIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderLoadingIndicator\",\n value: function renderLoadingIndicator() {\n var _this$getComponents4 = this.getComponents(),\n LoadingIndicator = _this$getComponents4.LoadingIndicator;\n\n var commonProps = this.commonProps;\n var _this$props11 = this.props,\n isDisabled = _this$props11.isDisabled,\n isLoading = _this$props11.isLoading;\n var isFocused = this.state.isFocused;\n if (!LoadingIndicator || !isLoading) return null;\n var innerProps = {\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(LoadingIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderIndicatorSeparator\",\n value: function renderIndicatorSeparator() {\n var _this$getComponents5 = this.getComponents(),\n DropdownIndicator = _this$getComponents5.DropdownIndicator,\n IndicatorSeparator = _this$getComponents5.IndicatorSeparator; // separator doesn't make sense without the dropdown indicator\n\n\n if (!DropdownIndicator || !IndicatorSeparator) return null;\n var commonProps = this.commonProps;\n var isDisabled = this.props.isDisabled;\n var isFocused = this.state.isFocused;\n return /*#__PURE__*/React.createElement(IndicatorSeparator, _extends({}, commonProps, {\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderDropdownIndicator\",\n value: function renderDropdownIndicator() {\n var _this$getComponents6 = this.getComponents(),\n DropdownIndicator = _this$getComponents6.DropdownIndicator;\n\n if (!DropdownIndicator) return null;\n var commonProps = this.commonProps;\n var isDisabled = this.props.isDisabled;\n var isFocused = this.state.isFocused;\n var innerProps = {\n onMouseDown: this.onDropdownIndicatorMouseDown,\n onTouchEnd: this.onDropdownIndicatorTouchEnd,\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(DropdownIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderMenu\",\n value: function renderMenu() {\n var _this4 = this;\n\n var _this$getComponents7 = this.getComponents(),\n Group = _this$getComponents7.Group,\n GroupHeading = _this$getComponents7.GroupHeading,\n Menu = _this$getComponents7.Menu,\n MenuList = _this$getComponents7.MenuList,\n MenuPortal = _this$getComponents7.MenuPortal,\n LoadingMessage = _this$getComponents7.LoadingMessage,\n NoOptionsMessage = _this$getComponents7.NoOptionsMessage,\n Option = _this$getComponents7.Option;\n\n var commonProps = this.commonProps;\n var focusedOption = this.state.focusedOption;\n var _this$props12 = this.props,\n captureMenuScroll = _this$props12.captureMenuScroll,\n inputValue = _this$props12.inputValue,\n isLoading = _this$props12.isLoading,\n loadingMessage = _this$props12.loadingMessage,\n minMenuHeight = _this$props12.minMenuHeight,\n maxMenuHeight = _this$props12.maxMenuHeight,\n menuIsOpen = _this$props12.menuIsOpen,\n menuPlacement = _this$props12.menuPlacement,\n menuPosition = _this$props12.menuPosition,\n menuPortalTarget = _this$props12.menuPortalTarget,\n menuShouldBlockScroll = _this$props12.menuShouldBlockScroll,\n menuShouldScrollIntoView = _this$props12.menuShouldScrollIntoView,\n noOptionsMessage = _this$props12.noOptionsMessage,\n onMenuScrollToTop = _this$props12.onMenuScrollToTop,\n onMenuScrollToBottom = _this$props12.onMenuScrollToBottom;\n if (!menuIsOpen) return null; // TODO: Internal Option Type here\n\n var render = function render(props, id) {\n var type = props.type,\n data = props.data,\n isDisabled = props.isDisabled,\n isSelected = props.isSelected,\n label = props.label,\n value = props.value;\n var isFocused = focusedOption === data;\n var onHover = isDisabled ? undefined : function () {\n return _this4.onOptionHover(data);\n };\n var onSelect = isDisabled ? undefined : function () {\n return _this4.selectOption(data);\n };\n var optionId = \"\".concat(_this4.getElementId('option'), \"-\").concat(id);\n var innerProps = {\n id: optionId,\n onClick: onSelect,\n onMouseMove: onHover,\n onMouseOver: onHover,\n tabIndex: -1\n };\n return /*#__PURE__*/React.createElement(Option, _extends({}, commonProps, {\n innerProps: innerProps,\n data: data,\n isDisabled: isDisabled,\n isSelected: isSelected,\n key: optionId,\n label: label,\n type: type,\n value: value,\n isFocused: isFocused,\n innerRef: isFocused ? _this4.getFocusedOptionRef : undefined\n }), _this4.formatOptionLabel(props.data, 'menu'));\n };\n\n var menuUI;\n\n if (this.hasOptions()) {\n menuUI = this.getCategorizedOptions().map(function (item) {\n if (item.type === 'group') {\n var data = item.data,\n options = item.options,\n groupIndex = item.index;\n var groupId = \"\".concat(_this4.getElementId('group'), \"-\").concat(groupIndex);\n var headingId = \"\".concat(groupId, \"-heading\");\n return /*#__PURE__*/React.createElement(Group, _extends({}, commonProps, {\n key: groupId,\n data: data,\n options: options,\n Heading: GroupHeading,\n headingProps: {\n id: headingId,\n data: item.data\n },\n label: _this4.formatGroupLabel(item.data)\n }), item.options.map(function (option) {\n return render(option, \"\".concat(groupIndex, \"-\").concat(option.index));\n }));\n } else if (item.type === 'option') {\n return render(item, \"\".concat(item.index));\n }\n });\n } else if (isLoading) {\n var message = loadingMessage({\n inputValue: inputValue\n });\n if (message === null) return null;\n menuUI = /*#__PURE__*/React.createElement(LoadingMessage, commonProps, message);\n } else {\n var _message = noOptionsMessage({\n inputValue: inputValue\n });\n\n if (_message === null) return null;\n menuUI = /*#__PURE__*/React.createElement(NoOptionsMessage, commonProps, _message);\n }\n\n var menuPlacementProps = {\n minMenuHeight: minMenuHeight,\n maxMenuHeight: maxMenuHeight,\n menuPlacement: menuPlacement,\n menuPosition: menuPosition,\n menuShouldScrollIntoView: menuShouldScrollIntoView\n };\n var menuElement = /*#__PURE__*/React.createElement(MenuPlacer, _extends({}, commonProps, menuPlacementProps), function (_ref4) {\n var ref = _ref4.ref,\n _ref4$placerProps = _ref4.placerProps,\n placement = _ref4$placerProps.placement,\n maxHeight = _ref4$placerProps.maxHeight;\n return /*#__PURE__*/React.createElement(Menu, _extends({}, commonProps, menuPlacementProps, {\n innerRef: ref,\n innerProps: {\n onMouseDown: _this4.onMenuMouseDown,\n onMouseMove: _this4.onMenuMouseMove\n },\n isLoading: isLoading,\n placement: placement\n }), /*#__PURE__*/React.createElement(ScrollManager, {\n captureEnabled: captureMenuScroll,\n onTopArrive: onMenuScrollToTop,\n onBottomArrive: onMenuScrollToBottom,\n lockEnabled: menuShouldBlockScroll\n }, function (scrollTargetRef) {\n return /*#__PURE__*/React.createElement(MenuList, _extends({}, commonProps, {\n innerRef: function innerRef(instance) {\n _this4.getMenuListRef(instance);\n\n scrollTargetRef(instance);\n },\n isLoading: isLoading,\n maxHeight: maxHeight,\n focusedOption: focusedOption\n }), menuUI);\n }));\n }); // positioning behaviour is almost identical for portalled and fixed,\n // so we use the same component. the actual portalling logic is forked\n // within the component based on `menuPosition`\n\n return menuPortalTarget || menuPosition === 'fixed' ? /*#__PURE__*/React.createElement(MenuPortal, _extends({}, commonProps, {\n appendTo: menuPortalTarget,\n controlElement: this.controlRef,\n menuPlacement: menuPlacement,\n menuPosition: menuPosition\n }), menuElement) : menuElement;\n }\n }, {\n key: \"renderFormField\",\n value: function renderFormField() {\n var _this5 = this;\n\n var _this$props13 = this.props,\n delimiter = _this$props13.delimiter,\n isDisabled = _this$props13.isDisabled,\n isMulti = _this$props13.isMulti,\n name = _this$props13.name;\n var selectValue = this.state.selectValue;\n if (!name || isDisabled) return;\n\n if (isMulti) {\n if (delimiter) {\n var value = selectValue.map(function (opt) {\n return _this5.getOptionValue(opt);\n }).join(delimiter);\n return /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\",\n value: value\n });\n } else {\n var input = selectValue.length > 0 ? selectValue.map(function (opt, i) {\n return /*#__PURE__*/React.createElement(\"input\", {\n key: \"i-\".concat(i),\n name: name,\n type: \"hidden\",\n value: _this5.getOptionValue(opt)\n });\n }) : /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\"\n });\n return /*#__PURE__*/React.createElement(\"div\", null, input);\n }\n } else {\n var _value = selectValue[0] ? this.getOptionValue(selectValue[0]) : '';\n\n return /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\",\n value: _value\n });\n }\n }\n }, {\n key: \"renderLiveRegion\",\n value: function renderLiveRegion() {\n var commonProps = this.commonProps;\n var _this$state5 = this.state,\n ariaSelection = _this$state5.ariaSelection,\n focusedOption = _this$state5.focusedOption,\n focusedValue = _this$state5.focusedValue,\n isFocused = _this$state5.isFocused,\n selectValue = _this$state5.selectValue;\n var focusableOptions = this.getFocusableOptions();\n return /*#__PURE__*/React.createElement(LiveRegion, _extends({}, commonProps, {\n ariaSelection: ariaSelection,\n focusedOption: focusedOption,\n focusedValue: focusedValue,\n isFocused: isFocused,\n selectValue: selectValue,\n focusableOptions: focusableOptions\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$getComponents8 = this.getComponents(),\n Control = _this$getComponents8.Control,\n IndicatorsContainer = _this$getComponents8.IndicatorsContainer,\n SelectContainer = _this$getComponents8.SelectContainer,\n ValueContainer = _this$getComponents8.ValueContainer;\n\n var _this$props14 = this.props,\n className = _this$props14.className,\n id = _this$props14.id,\n isDisabled = _this$props14.isDisabled,\n menuIsOpen = _this$props14.menuIsOpen;\n var isFocused = this.state.isFocused;\n var commonProps = this.commonProps = this.getCommonProps();\n return /*#__PURE__*/React.createElement(SelectContainer, _extends({}, commonProps, {\n className: className,\n innerProps: {\n id: id,\n onKeyDown: this.onKeyDown\n },\n isDisabled: isDisabled,\n isFocused: isFocused\n }), this.renderLiveRegion(), /*#__PURE__*/React.createElement(Control, _extends({}, commonProps, {\n innerRef: this.getControlRef,\n innerProps: {\n onMouseDown: this.onControlMouseDown,\n onTouchEnd: this.onControlTouchEnd\n },\n isDisabled: isDisabled,\n isFocused: isFocused,\n menuIsOpen: menuIsOpen\n }), /*#__PURE__*/React.createElement(ValueContainer, _extends({}, commonProps, {\n isDisabled: isDisabled\n }), this.renderPlaceholderOrValue(), this.renderInput()), /*#__PURE__*/React.createElement(IndicatorsContainer, _extends({}, commonProps, {\n isDisabled: isDisabled\n }), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderIndicatorSeparator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField());\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n var prevProps = state.prevProps,\n clearFocusValueOnUpdate = state.clearFocusValueOnUpdate,\n inputIsHiddenAfterUpdate = state.inputIsHiddenAfterUpdate;\n var options = props.options,\n value = props.value,\n menuIsOpen = props.menuIsOpen,\n inputValue = props.inputValue;\n var newMenuOptionsState = {};\n\n if (prevProps && (value !== prevProps.value || options !== prevProps.options || menuIsOpen !== prevProps.menuIsOpen || inputValue !== prevProps.inputValue)) {\n var selectValue = cleanValue(value);\n var focusableOptions = menuIsOpen ? buildFocusableOptions(props, selectValue) : [];\n var focusedValue = clearFocusValueOnUpdate ? getNextFocusedValue(state, selectValue) : null;\n var focusedOption = getNextFocusedOption(state, focusableOptions);\n newMenuOptionsState = {\n selectValue: selectValue,\n focusedOption: focusedOption,\n focusedValue: focusedValue,\n clearFocusValueOnUpdate: false\n };\n } // some updates should toggle the state of the input visibility\n\n\n var newInputIsHiddenState = inputIsHiddenAfterUpdate != null && props !== prevProps ? {\n inputIsHidden: inputIsHiddenAfterUpdate,\n inputIsHiddenAfterUpdate: undefined\n } : {};\n return _objectSpread2(_objectSpread2(_objectSpread2({}, newMenuOptionsState), newInputIsHiddenState), {}, {\n prevProps: props\n });\n }\n }]);\n\n return Select;\n}(Component);\n\nSelect.defaultProps = defaultProps;\nexport { Select as S, getOptionLabel as a, defaultProps as b, createFilter as c, defaultTheme as d, getOptionValue as g, mergeStyles as m };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport { _ as _createSuper } from './index-4bd03571.esm.js';\nimport React, { Component } from 'react';\nvar defaultProps = {\n defaultInputValue: '',\n defaultMenuIsOpen: false,\n defaultValue: null\n};\n\nvar manageState = function manageState(SelectComponent) {\n var _class, _temp;\n\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inherits(StateManager, _Component);\n\n var _super = _createSuper(StateManager);\n\n function StateManager() {\n var _this;\n\n _classCallCheck(this, StateManager);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.select = void 0;\n _this.state = {\n inputValue: _this.props.inputValue !== undefined ? _this.props.inputValue : _this.props.defaultInputValue,\n menuIsOpen: _this.props.menuIsOpen !== undefined ? _this.props.menuIsOpen : _this.props.defaultMenuIsOpen,\n value: _this.props.value !== undefined ? _this.props.value : _this.props.defaultValue\n };\n\n _this.onChange = function (value, actionMeta) {\n _this.callProp('onChange', value, actionMeta);\n\n _this.setState({\n value: value\n });\n };\n\n _this.onInputChange = function (value, actionMeta) {\n // TODO: for backwards compatibility, we allow the prop to return a new\n // value, but now inputValue is a controllable prop we probably shouldn't\n var newValue = _this.callProp('onInputChange', value, actionMeta);\n\n _this.setState({\n inputValue: newValue !== undefined ? newValue : value\n });\n };\n\n _this.onMenuOpen = function () {\n _this.callProp('onMenuOpen');\n\n _this.setState({\n menuIsOpen: true\n });\n };\n\n _this.onMenuClose = function () {\n _this.callProp('onMenuClose');\n\n _this.setState({\n menuIsOpen: false\n });\n };\n\n return _this;\n }\n\n _createClass(StateManager, [{\n key: \"focus\",\n value: function focus() {\n this.select.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.select.blur();\n } // FIXME: untyped flow code, return any\n\n }, {\n key: \"getProp\",\n value: function getProp(key) {\n return this.props[key] !== undefined ? this.props[key] : this.state[key];\n } // FIXME: untyped flow code, return any\n\n }, {\n key: \"callProp\",\n value: function callProp(name) {\n if (typeof this.props[name] === 'function') {\n var _this$props;\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return (_this$props = this.props)[name].apply(_this$props, args);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props;\n _this$props2.defaultInputValue;\n _this$props2.defaultMenuIsOpen;\n _this$props2.defaultValue;\n\n var props = _objectWithoutProperties(_this$props2, [\"defaultInputValue\", \"defaultMenuIsOpen\", \"defaultValue\"]);\n\n return /*#__PURE__*/React.createElement(SelectComponent, _extends({}, props, {\n ref: function ref(_ref) {\n _this2.select = _ref;\n },\n inputValue: this.getProp('inputValue'),\n menuIsOpen: this.getProp('menuIsOpen'),\n onChange: this.onChange,\n onInputChange: this.onInputChange,\n onMenuClose: this.onMenuClose,\n onMenuOpen: this.onMenuOpen,\n value: this.getProp('value')\n }));\n }\n }]);\n\n return StateManager;\n }(Component), _class.defaultProps = defaultProps, _temp;\n};\n\nexport { manageState as m };","import { S as Select } from './Select-dbb12e54.esm.js';\nexport { c as createFilter, d as defaultTheme, m as mergeStyles } from './Select-dbb12e54.esm.js';\nimport { m as manageState } from './stateManager-845a3300.esm.js';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport { _ as _createSuper } from './index-4bd03571.esm.js';\nexport { c as components } from './index-4bd03571.esm.js';\nimport React, { Component } from 'react';\nimport { CacheProvider } from '@emotion/react';\nimport createCache from '@emotion/cache';\nimport memoizeOne from 'memoize-one';\nimport '@babel/runtime/helpers/extends';\nimport '@babel/runtime/helpers/toConsumableArray';\nimport '@babel/runtime/helpers/objectWithoutProperties';\nimport '@babel/runtime/helpers/taggedTemplateLiteral';\nimport '@babel/runtime/helpers/typeof';\nimport 'react-input-autosize';\nimport '@babel/runtime/helpers/defineProperty';\nimport 'react-dom';\n\nvar NonceProvider = /*#__PURE__*/function (_Component) {\n _inherits(NonceProvider, _Component);\n\n var _super = _createSuper(NonceProvider);\n\n function NonceProvider(props) {\n var _this;\n\n _classCallCheck(this, NonceProvider);\n\n _this = _super.call(this, props);\n\n _this.createEmotionCache = function (nonce, key) {\n return createCache({\n nonce: nonce,\n key: key\n });\n };\n\n _this.createEmotionCache = memoizeOne(_this.createEmotionCache);\n return _this;\n }\n\n _createClass(NonceProvider, [{\n key: \"render\",\n value: function render() {\n var emotionCache = this.createEmotionCache(this.props.nonce, this.props.cacheKey);\n return /*#__PURE__*/React.createElement(CacheProvider, {\n value: emotionCache\n }, this.props.children);\n }\n }]);\n\n return NonceProvider;\n}(Component);\n\nvar index = manageState(Select);\nexport default index;\nexport { NonceProvider };","import React, { useRef } from 'react'\nimport styled from 'styled-components'\nimport Select, { components } from 'react-select'\nimport { MarkupFormat } from '../../lib/generate-image-markup'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction ClickableControl(props: any): JSX.Element {\n return (\n \n )\n}\n\ninterface Option {\n value: MarkupFormat\n label: string\n}\n\nconst MarkupFormatSelect = styled(Select)`\n width: 200px;\n\n margin-left: auto;\n margin-right: auto;\n\n font-family: 'Lato', sans-serif;\n font-size: 12px;\n\n .markup-format__control {\n background-image: linear-gradient(-180deg, #00aeff 0%, #0076ff 100%);\n border: 1px solid rgba(238, 239, 241, 0.8);\n border-width: 0;\n box-shadow: unset;\n cursor: copy;\n }\n\n .markup-format__control--is-disabled {\n background: rgba(0, 118, 255, 0.3);\n cursor: none;\n }\n\n .markup-format__placeholder {\n color: #eeeff1;\n }\n\n .markup-format__indicator {\n color: rgba(238, 239, 241, 0.81);\n cursor: pointer;\n }\n\n .markup-format__indicator:hover {\n color: #eeeff1;\n }\n\n .markup-format__control--is-focused .markup-format__indicator,\n .markup-format__control--is-focused .markup-format__indicator:hover {\n color: #ffffff;\n }\n\n .markup-format__option {\n text-align: left;\n cursor: copy;\n }\n`\n\nconst markupOptions: Option[] = [\n { value: 'markdown', label: 'Copy Markdown' },\n { value: 'rst', label: 'Copy reStructuredText' },\n { value: 'asciidoc', label: 'Copy AsciiDoc' },\n { value: 'html', label: 'Copy HTML' },\n]\n\nexport default function GetMarkupButton({\n onMarkupRequested,\n isDisabled,\n}: {\n onMarkupRequested: (markupFormat: MarkupFormat) => Promise\n isDisabled: boolean\n}): JSX.Element {\n // https://github.com/DefinitelyTyped/DefinitelyTyped/issues/35572\n // https://github.com/DefinitelyTyped/DefinitelyTyped/issues/28884#issuecomment-471341041\n const selectRef = useRef>() as React.MutableRefObject<\n Select