{"version":3,"sources":["../node_modules/react/jsx-runtime.js","../node_modules/react/index.js","../node_modules/prop-types/index.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/react-spring/renderprops.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../node_modules/classnames/index.js","../node_modules/resolve-pathname/index.js","../node_modules/value-equal/index.js","../node_modules/history/esm/history.js","../node_modules/react-router/esm/react-router.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/react-dom/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/react-slick/lib/utils/innerSliderUtils.js","../node_modules/react-is/index.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../src/constants.js","../../src/sheet/Tag.js","../../src/sheet/GroupedTag.js","../../src/sheet/GroupIDAllocator.js","../../src/sheet/Sheet.js","../../src/utils/isStaticRules.js","../../src/models/ComponentStyle.js","../../src/models/StyledComponent.js","../../src/models/GlobalStyle.js","../../src/constructors/createGlobalStyle.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/qrcode.react/lib/esm/index.js","../node_modules/object-assign/index.js","../node_modules/webpack/buildin/global.js","../node_modules/process/browser.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/react-router/node_modules/path-to-regexp/index.js","../../source/constants.js","../../source/ParseError.js","../../../source/tools/semver-compare.js","../../source/metadata.js","../../../../source/helpers/extension/createExtensionPattern.js","../../../source/helpers/isViablePhoneNumber.js","../../../../source/helpers/extension/extractExtension.js","../../../source/helpers/parseDigits.js","../../source/parseIncompletePhoneNumber.js","../../../source/helpers/checkNumberLength.js","../../../source/helpers/mergeArrays.js","../../source/isPossibleNumber_.js","../../../source/helpers/matchesEntirely.js","../../../source/helpers/getNumberType.js","../../../source/helpers/applyInternationalSeparatorStyle.js","../../../source/helpers/formatNationalNumberUsingFormat.js","../../../source/helpers/getIddPrefix.js","../../source/format_.js","../../../source/helpers/RFC3966.js","../../source/PhoneNumber.js","../../source/validate_.js","../../../source/helpers/stripIddPrefix.js","../../../source/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","../../../source/helpers/extractNationalNumber.js","../../../source/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","../../../source/helpers/extractCountryCallingCode.js","../../../source/helpers/getCountryByCallingCode.js","../../source/parse_.js","../../source/parsePhoneNumber_.js","../../source/parsePhoneNumber.js","../../source/parsePhoneNumberFromString_.js","../../source/parsePhoneNumberFromString.js","../../source/isValidPhoneNumber.js","../../source/getCountries.js","../../source/PropTypes.js","../../source/helpers.js","../../source/closeBraces.js","../../source/format.js","../../source/templateFormatter.js","../../source/dom.js","../../source/inputControl.js","../../source/parse.js","../../source/edit.js","../../../source/react/Input.js","../../source/AsYouTypeState.js","../../source/AsYouTypeFormatter.util.js","../../source/AsYouTypeFormatter.complete.js","../../source/AsYouTypeFormatter.PatternMatcher.js","../../source/AsYouTypeFormatter.js","../../source/AsYouTypeParser.js","../../source/AsYouType.js","../../../source/helpers/inputValuePrefix.js","../../source/InputSmart.js","../../source/InputBasic.js","../../source/formatIncompletePhoneNumber.js","../../source/unicode.js","../../source/CountrySelect.js","../../source/Flag.js","../../source/InternationalIcon.js","../../../source/helpers/countries.js","../../source/CountryIcon.js","../../../source/helpers/getInternationalPhoneNumberPrefix.js","../../../source/helpers/phoneInputHelpers.js","../../source/PhoneInputWithCountry.js","../../../source/helpers/getPhoneInputWithCountryStateUpdateFromNewProps.js","../../source/PhoneInputWithCountryDefault.js","../node_modules/react-phone-number-input/min/index.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/enquire.js/src/Util.js","../node_modules/react-slick/lib/index.js","../node_modules/react-loader-spinner/index.js","../node_modules/react-uuid/uuid.js","../node_modules/shallowequal/index.js","../node_modules/@emotion/stylis/dist/stylis.browser.esm.js","../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/react-router-dom/esm/react-router-dom.js","../node_modules/mini-create-react-context/dist/esm/index.js","../../src/mimes.ts","../../src/dataurl.ts","../../src/util.ts","../../src/clone-pseudos.ts","../../src/clone-node.ts","../../src/embed-resources.ts","../../src/embed-images.ts","../../src/apply-style.ts","../../src/embed-webfonts.ts","../../src/index.ts","../node_modules/@emotion/memoize/dist/memoize.browser.esm.js","../node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/createSuper.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/@babel/runtime/helpers/createClass.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-slick/lib/slider.js","../node_modules/react-slick/lib/inner-slider.js","../node_modules/react-slick/lib/initial-state.js","../node_modules/lodash.debounce/index.js","../node_modules/react-slick/lib/track.js","../node_modules/react-slick/lib/dots.js","../node_modules/react-slick/lib/arrows.js","../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../node_modules/json2mq/index.js","../node_modules/string-convert/camel2hyphen.js","../node_modules/react-slick/lib/default-props.js","../node_modules/enquire.js/src/index.js","../node_modules/enquire.js/src/MediaQueryDispatch.js","../node_modules/enquire.js/src/MediaQuery.js","../node_modules/enquire.js/src/QueryHandler.js","../node_modules/react-loader-spinner/dist/index.js","../node_modules/ansi-colors/index.js","../node_modules/ansi-colors/symbols.js","../node_modules/react-loader-spinner/dist/loader/index.js","../node_modules/react-loader-spinner/dist/loader/Circles.js","../node_modules/react-loader-spinner/dist/loader/Watch.js","../node_modules/react-loader-spinner/dist/loader/Audio.js","../node_modules/react-loader-spinner/dist/loader/BallTriangle.js","../node_modules/react-loader-spinner/dist/loader/Bars.js","../node_modules/react-loader-spinner/dist/loader/CradleLoader.js","../node_modules/react-loader-spinner/dist/loader/Grid.js","../node_modules/react-loader-spinner/dist/loader/Hearts.js","../node_modules/react-loader-spinner/dist/loader/MutatingDots.js","../node_modules/react-loader-spinner/dist/loader/Oval.js","../node_modules/react-loader-spinner/dist/loader/Plane.js","../node_modules/react-loader-spinner/dist/loader/Puff.js","../node_modules/react-loader-spinner/dist/loader/RevolvingDot.js","../node_modules/react-loader-spinner/dist/loader/Rings.js","../node_modules/react-loader-spinner/dist/loader/TailSpin.js","../node_modules/react-loader-spinner/dist/loader/ThreeDots.js","../node_modules/react-loader-spinner/dist/loader/Triangle.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-router/node_modules/isarray/index.js"],"names":["module","exports","require","_regeneratorRuntime","Op","Object","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","key","value","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","state","method","arg","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","done","fn","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","this","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","invoke","resolve","reject","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_extends","assign","bind","source","_interopDefault","ex","_objectWithoutPropertiesLoose","React__default","ReactDOM","bugfixes","applyAnimatedValues","colorNames","requestFrame","cb","window","requestAnimationFrame","cancelFrame","cancelAnimationFrame","interpolation","now","Date","defaultElement","createAnimatedStyle","injectApplyAnimatedValues","transform","injectColorNames","names","injectBugfixes","injectInterpolation","cls","injectDefaultElement","el","injectCreateAnimatedStyle","factory","Globals","freeze","injectFrame","raf","caf","_ref","injectNow","nowFn","Animated","getValue","child","getValues","map","k","AnimatedWithChildren","_this","children","getChildren","getPayload","index","payload","attach","indexOf","splice","detach","AnimatedArrayWithChildren","getAnimatedValue","p","addChild","removeChild","AnimatedObjectWithChildren","s","animated","AnimatedStyle","style","colors","transparent","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","Interpolation","config","output","extra","Array","isArray","range","extrapolate","outputRange","inputRange","easing","t","extrapolateLeft","extrapolateRight","input","findRange","inputMin","inputMax","outputMin","outputMax","Infinity","interpolate","NUMBER","PERCENTAGE","join","rgb","RegExp","rgba","hsl","hsla","hex3","hex4","hex6","hex8","hue2rgb","q","hslToRgb","h","l","r","g","b","Math","round","parse255","str","int","parseInt","parse360","parseFloat","parse1","num","parsePercentage","colorToRgba","int32Color","color","match","exec","normalizeColor","a","stringShapeRegex","colorRegex","colorNamesRegex","AnimatedInterpolation","parents","_config","_arg","calc","updateConfig","findAnimatedStyles","node","styles","update","add","AnimatedValue","_value","setValue","flush","updateStyles","animatedStyles","updateValue","Set","startPosition","lastPosition","lastVelocity","lastTime","controller","size","animatedStyle","isActive","clear","AnimatedArray","array","v","n","withDefault","defaultValue","toArray","shallowEqual","callProp","_len","_key","getValues$1","interpolateTo","forward","to","from","native","onStart","onRest","onFrame","force","immediate","impl","inject","delay","destroyed","autoStart","ref","getForwardProps","rest","reduce","convertToAnimatedValue","acc","convertValues","allProps","entries","handleRef","current","check","isUnitlessNumber","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","prefixes","dangerousStyleValue","isCustomProperty","trim","prop","prefix","toUpperCase","substring","prefixKey","attributeCache","rangeValue","replace","outputRanges","number","interpolations","_","p1","p2","p3","p4","callback","some","element","elementStyles","createElement","position","visibility","_ref2","width","height","findDOMNode","cs","getComputedStyle","boxSizing","offsetWidth","offsetHeight","paddingX","paddingLeft","paddingRight","paddingY","paddingTop","paddingBottom","borderX","borderLeftWidth","borderRightWidth","borderY","borderTopWidth","borderBottomWidth","convert","overwrite","nodeType","setAttribute","scrollTop","scrollLeft","attributes","styleName","textContent","styleValue","setProperty","dashCase","toLowerCase","getAttribute","active","controllers","frameLoop","time","isDone","noChange","configIdx","configs","endOfAnimation","valIdx","animatedValues","animation","fromValues","toValues","isAnimated","velocity","initialVelocity","decay","startTime","duration","exp","abs","numSteps","floor","tension","friction","mass","isOvershooting","clamp","isVelocity","precision","isDisplacement","animatedProps","onUpdate","delete","debouncedOnEnd","finished","removeController","has","Controller","dependents","hasChanged","merged","animations","frame","_ref$from","_ref$to","_ref$config","_ref$delay","_ref3","parent","interpolation$$1","isNumber","isString","startsWith","test","fromValue","toValue","toConfig","changes","prepare","start","onEnd","res","AnimatedProps","createAnimatedComponent","Component","AnimatedComponent","propsAnimated","forceUpdate","attachProps","forwardRef","nextProps","oldPropsAnimated","_this$props","currentStyle","_this$propsAnimated$g","default","gentle","wobbly","stiff","slow","molasses","Spring","lastProps","propsChanged","internal","didUpdate","didInject","wasMounted","mounted","setState","afterInject","after","componentDidUpdate","injectProps","defaultProps","Trail","first","instances","hook","items","_children","_this$props$from","initial","item","prevProps","PureComponent","DEFAULT","KeyframesImpl","guid","last","running","previous","_this2","states","f","filter","localId","slots","slot","_this$state","_this$props2","primitive","_onRest","Keyframes","get","String","Transition","destroyItem","onDestroyed","deleted","transitions","enter","leave","trail","unique","_ref4","_get","_get$trail","_get2","_keys","_items","currentKeys","currentSet","nextSet","added","removed","originalKey","updated","find","d","keyIndex","left","max","right","min","out","pos","transition","findIndex","extendedAnimated","_defineProperty","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread2","getOwnPropertyDescriptors","defineProperties","_inherits","subClass","superClass","_getPrototypeOf","o","_possibleConstructorReturn","ReferenceError","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","e","Super","NewTarget","_inheritsLoose","invariant","condition","message","classNames","classes","argType","inner","isAbsolute","pathname","spliceOne","list","resolvePathname","toParts","split","fromParts","isToAbs","isFromAbs","mustEndAbs","concat","hasTrailingSlash","up","part","unshift","substr","_typeof","valueEqual","every","aType","aValue","bValue","aKeys","bKeys","addLeadingSlash","path","stripLeadingSlash","stripBasename","hasBasename","stripTrailingSlash","createPath","location","search","hash","createLocation","currentLocation","hashIndex","searchIndex","parsePath","decodeURI","URIError","locationsAreEqual","createTransitionManager","prompt","listeners","setPrompt","nextPrompt","confirmTransitionTo","action","getUserConfirmation","appendListener","listener","notifyListeners","canUseDOM","document","getConfirmation","confirm","PopStateEvent","HashChangeEvent","getHistoryState","history","createBrowserHistory","globalHistory","canUseHistory","ua","navigator","userAgent","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_window$location","createKey","random","toString","transitionManager","nextState","handlePopState","event","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","ok","fromLocation","toLocation","toIndex","allKeys","fromIndex","delta","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","addEventListener","removeEventListener","isBlocked","href","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","block","unblock","listen","unlisten","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","getHashPath","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","allPaths","lastIndexOf","pushHashPath","nextPaths","lowerBound","upperBound","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","nextIndex","nextEntries","canGo","createNamedContext","createContext","Router","_React$Component","_isMounted","_pendingLocation","staticContext","computeRootMatch","url","params","isExact","_proto","componentDidMount","componentWillUnmount","render","React","Provider","cache$1","cacheCount$1","matchPath","options","_options","_options$exact","exact","_options$strict","strict","_options$sensitive","sensitive","matched","_compilePath","cacheKey","end","pathCache","regexp","pathToRegexp","compilePath$1","memo","Route","Consumer","context$$1","computedMatch","component","Children","count","isEmptyChildren","base","createURL","staticHandler","methodName","noop","Switch","isValidElement","cloneElement","excluded","sourceKeys","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","console","ReactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","isMemo","ForwardRef","getOwnPropertyNames","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","slidesOnLeft","slidesOnRight","siblingDirection","getTotalSlides","getPostClones","getPreClones","getTrackLeft","getTrackAnimateCSS","getTrackCSS","checkSpecKeys","getSlideCount","checkNavigable","getNavigableIndexes","swipeEnd","swipeMove","swipeStart","keyHandler","changeSlide","slideHandler","initializedState","extractObject","canGoNext","getSwipeDirection","getHeight","getWidth","lazySlidesOnRight","lazySlidesOnLeft","lazyEndIndex","lazyStartIndex","getRequiredLazySlides","getOnDemandLazySlides","_react","_interopRequireDefault","_reactDom","__esModule","_objectSpread","spec","onDemandSlides","startIndex","endIndex","slideIndex","lazyLoadedList","requiredSlides","currentSlide","centerMode","slidesToShow","centerPadding","elem","touchObject","xDist","yDist","swipeAngle","verticalSwiping","startX","curX","startY","curY","atan2","PI","infinite","slideCount","newObject","slideWidth","listWidth","ceil","listRef","trackWidth","trackRef","vertical","centerPaddingAdj","slideHeight","querySelector","listHeight","initialSlide","rtl","slidesToLoad","autoplaying","autoplay","waitForAnimate","animating","fade","lazyLoad","slidesToScroll","useCSS","finalSlide","animationLeft","finalLeft","animationSlide","trackStyle","swipeLeft","indexOffset","previousInt","slideOffset","targetSlide","direction","Number","accessibility","tagName","keyCode","swipe","draggable","preventDefault","dragging","touches","pageX","clientX","pageY","clientY","scrolling","swipeToSlide","edgeFriction","edgeDragged","onEdge","swiped","swiping","swipeEvent","curLeft","swipeLength","sqrt","pow","verticalSwipeLength","positionOffset","dotCount","swipeDirection","touchSwipeLength","touchThreshold","onSwipe","minSwipe","newSlide","currentLeft","breakpoint","counter","indexes","navigables","prevNavigable","centerOffset","swipedSlide","slides","querySelectorAll","slide","offsetTop","offsetLeft","currentIndex","dataset","keysArray","trackHeight","trackChildren","WebkitTransition","useTransform","WebkitTransform","msTransform","attachEvent","marginTop","marginLeft","speed","cssEase","unslick","targetLeft","variableWidth","slidesToOffset","targetSlideIndex","trackElem","childNodes","_setPrototypeOf","nodes","insertRule","id","componentId","shouldFilterProps","isCompositeComponent","flatten","_slicedToArray","arr","_i","_s","_e","_arr","_n","_d","unsupportedIterableToArray","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","minLen","_createForOfIteratorHelper","allowArrayLike","it","F","normalCompletion","didErr","step","_e2","qrcodegen","qrcodegen2","__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","propertyIsEnumerable","__defNormalProp","__spreadValues","__objRest","exclude","_QrCode","version","errorCorrectionLevel","dataCodewords","msk","modules","isFunction","MIN_VERSION","MAX_VERSION","RangeError","row","drawFunctionPatterns","allCodewords","addEccAndInterleave","drawCodewords","minPenalty","applyMask","drawFormatBits","penalty","getPenaltyScore","assert","mask","x","y","setFunctionModule","drawFinderPattern","alignPatPos","getAlignmentPatternPositions","numAlign","j","drawAlignmentPattern","drawVersion","data","formatBits","rem","bits","getBit","dy","dx","dist","xx","yy","isDark","ver","ecl","getNumDataCodewords","numBlocks","NUM_ERROR_CORRECTION_BLOCKS","ordinal","blockEccLen","ECC_CODEWORDS_PER_BLOCK","rawCodewords","getNumRawDataModules","numShortBlocks","shortBlockLen","blocks","rsDiv","reedSolomonComputeDivisor","dat","ecc","reedSolomonComputeRemainder","vert","invert","runColor","runX","runHistory","PENALTY_N1","finderPenaltyAddHistory","finderPenaltyCountPatterns","PENALTY_N3","finderPenaltyTerminateAndCount","runY","PENALTY_N2","dark","sum","total","PENALTY_N4","core","currentRunColor","currentRunLength","text","segs","QrSegment","makeSegments","encodeSegments","seg","makeBytes","dataUsedBits","minVersion","maxVersion","boostEcl","dataCapacityBits2","usedBits","getTotalBits","Ecc","MEDIUM","QUARTILE","HIGH","newEcl","bb","appendBits","mode","modeBits","numChars","numCharCountBits","getData","dataCapacityBits","padByte","degree","root","reedSolomonMultiply","divisor","factor","shift","coef","z","QrCode","val","cond","bitData","_QrSegment","Mode","BYTE","digits","isNumeric","NUMERIC","isAlphanumeric","temp","ALPHANUMERIC_CHARSET","ALPHANUMERIC","makeNumeric","makeAlphanumeric","toUtf8ByteArray","assignVal","ECI","NUMERIC_REGEX","ALPHANUMERIC_REGEX","ccbits","encodeURI","charCodeAt","QrCode2","_Ecc","LOW","QrSegment2","_Mode","numBitsCharCount","KANJI","qrcodegen_default","ERROR_LEVEL_MAP","L","M","Q","H","DEFAULT_BGCOLOR","DEFAULT_FGCOLOR","generatePath","margin","ops","cell","excavateModules","excavation","w","getImageSettings","cells","includeMargin","imageSettings","numCells","defaultSize","scale","excavate","floorX","floorY","SUPPORTS_PATH2D","Path2D","addPath","QRCodeCanvas","_a","level","bgColor","fgColor","otherProps","imgSrc","src","_canvas","useRef","_image","useState","setIsImageLoaded","useEffect","canvas","ctx","getContext","encodeText","getModules","calculatedImageSettings","image","haveImageToRender","naturalHeight","naturalWidth","pixelRatio","devicePixelRatio","fillStyle","fillRect","fill","rdx","cdx","drawImage","canvasStyle","img","display","onLoad","Fragment","QRCodeSVG","xlinkHref","preserveAspectRatio","fgPath","viewBox","shapeRendering","QRCode","renderAs","propIsEnumerable","toObject","test1","test2","fromCharCode","test3","letter","shouldUseNative","Function","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","nextTick","title","browser","env","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","binding","cwd","chdir","dir","umask","_taggedTemplateLiteral","strings","raw","isarray","parse","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","tokens","defaultDelimiter","delimiter","m","escaped","offset","capture","group","modifier","asterisk","partial","repeat","optional","pattern","escapeGroup","escapeString","encodeURIComponentPretty","c","matches","opts","encode","pretty","encodeURIComponent","token","segment","JSON","stringify","attachKeys","re","flags","route","endsWithDelimiter","groups","regexpToRegexp","parts","arrayToRegexp","stringToRegexp","VALID_DIGITS","VALID_PUNCTUATION","ParseError","code","stack","pa","pb","na","nb","DEFAULT_EXT_PREFIX","CALLING_CODE_REG_EXP","Metadata","metadata","is_object","countries","type_of","validateMetadata","setVersion","countryCode","v1","v2","v3","nonGeographic","nonGeographical","country","getCountryMetadata","callingCode","getCountryCodesForCallingCode","countryCodes","countryCallingCodes","selectNumberingPlan","hasCountry","numberingPlan","NumberingPlan","hasCallingCode","getNumberingPlanMetadata","getCountryCodeForCallingCode","IDDPrefix","defaultIDDPrefix","nationalNumberPattern","possibleLengths","formats","nationalPrefixForParsing","nationalPrefixTransformRule","leadingDigits","hasTypes","ext","country_phone_code_to_countries","country_calling_codes","globalMetadataObject","_getFormats","getDefaultCountryMetadataForRegion","Format","_getNationalPrefixFormattingRule","_nationalPrefixForParsing","nationalPrefix","_getNationalPrefixIsOptionalWhenFormatting","types","getType","Type","format","_format","nationalPrefixFormattingRule","nationalPrefixIsOptionalWhenFormattingInNationalFormat","usesNationalPrefix","FIRST_GROUP_ONLY_PREFIX_PATTERN","getCountryCallingCode","countryCallingCode","isSupportedCountry","v4","getExtensionDigitsPattern","maxLength","createExtensionPattern","purpose","optionalExtnSuffix","possibleSeparatorsBetweenNumberAndExtLabel","possibleSeparatorsNumberExtLabelNoComma","VALID_PHONE_NUMBER","VALID_PHONE_NUMBER_START_REG_EXP","VALID_PHONE_NUMBER_WITH_EXTENSION","VALID_PHONE_NUMBER_PATTERN","isViablePhoneNumber","EXTN_PATTERN","DIGITS","parseDigit","character","parseDigits","string","digit","parseIncompletePhoneNumber","parsePhoneNumberCharacter","prevParsedCharacters","checkNumberLength","nationalNumber","checkNumberLengthForType","type_info","possible_lengths","mobile_type","sort","mergeArrays","actual_length","minimum_length","isPossibleNumber","matchesEntirely","regular_expression","NON_FIXED_LINE_PHONE_TYPES","getNumberType","phone","isNumberTypeEqualTo","applyInternationalSeparatorStyle","formattedNumber","FIRST_GROUP_PATTERN","formatNationalNumberUsingFormat","useInternationalFormat","withNationalPrefix","carrierCode","internationalFormat","SINGLE_IDD_PREFIX_REG_EXP","DEFAULT_OPTIONS","formatExtension","extension","formatNumber","addExtension","formatNationalNumber","formatRFC3966","fromCountry","iddPrefix","countryMetadata","getIddPrefix","formatIDD","formatAs","availableFormats","nationalNnumber","leadingDigitsPatterns","lastLeadingDigitsPattern","chooseFormatForNumber","PhoneNumber","_metadata","isCountryCode","isNonGeographicCallingCode","phoneNumber","CAPTURING_DIGIT_PATTERN","stripIddPrefix","IDDPrefixPattern","matchedGroups","extractNationalNumberFromPossiblyIncompleteNumber","prefixPattern","prefixMatch","capturedGroupsCount","hasCapturedGroups","prefixBeforeNationalNumber","possiblePositionOfTheFirstCapturedGroup","extractNationalNumber","nationalNumberBefore","nationalNumberAfter","shouldHaveExtractedNationalPrefix","isPossibleIncompleteNationalNumber","extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","possibleShorterNumber","possibleShorterNationalNumber","extractCountryCallingCode","numberWithoutIDD","shorterNumber","getCountryByCallingCode","nationalPhoneNumber","possibleCountries","selectCountryFromList","PHONE_NUMBER_START_PATTERN","AFTER_PHONE_NUMBER_END_PATTERN","defaultCountry","extract","parseRFC3966","throwOnError","startsAt","extractFormattedPhoneNumber","isViablePhoneNumberStart","withExtensionStripped","numberWithoutExtension","extractExtension","parseInput","formattedPhoneNumber","defaultCallingCode","exactCountry","parsePhoneNumber","hasSelectedNumberingPlan","valid","extended","possible","parseNumber","normalizeArguments","arg_1","arg_2","arg_3","arg_4","isObject","parsePhoneNumberFromString","parsePhoneNumberFromString_","isValidPhoneNumber","isValid","getCountries","PropTypes","shape","isRequired","labels","objectOf","count_occurences","symbol","closeBraces","retained_template","template","placeholder","empty_placeholder","cut_before","opening_braces","closing_braces","dangling_braces","caret","formatter","should_close_braces","characters_in_template","value_character_index","filled_in_template","close_braces","template_formatter","found","possibly_last_input_character_index","isReadOnly","hasAttribute","getSelection","selectionStart","selectionEnd","Keys","setCaretPosition","caret_position","ANDROID_USER_AGENT_REG_EXP","isAndroid","setSelectionRange","onKeyDown","_parse","on_change","operation","getOperation","selection","eraseSelection","formatInputText","parse_character","focused_input_character_index","newValueAndCaret","edit","formatted","Input","InputComponent","inputComponent","onChange","internalRef","setRef","useCallback","_onChange","_onKeyDown","onInputKeyDown","isEmptyValue","func","elementType","onCut","onPaste","AsYouTypeState","onCountryChange","onCallingCodeChange","properties","international","missingPlus","resetNationalSignificantNumber","initCountryAndCallingCode","nationalSignificantNumber","getNationalDigits","nationalSignificantNumberMatchesInput","complexPrefixBeforeNationalSignificantNumber","setCountry","setCallingCode","nextDigits","DIGIT_PLACEHOLDER","DIGIT_PLACEHOLDER_MATCHER","times","cutAndStripNonPairedParens","cutBeforeIndex","cleared_string","stripNonPairedParens","formatCompleteNumber","shouldTryNationalPrefixFormattingRule","getSeparatorAfterNationalPrefix","useNationalPrefixFormattingRule","formatNationalNumberWithAndWithoutNationalPrefixFormattingRule","formattedNationalNumber","isValidFormattedNationalNumber","PatternMatcher","matchTree","PatternParser","allowOverflow","matchedChars","overflow","characters","tree","characterString","partialMatch","restCharacters","op","_i2","char","OPERATOR","ILLEGAL_CHARACTER_REGEXP","or","instructions","parsePattern","branches","operator","before","rightPart","startContext","endContext","oneOfSet","parseOneOfSet","prevValue","nextValue","LONGEST_DUMMY_PHONE_NUMBER","NATIONAL_PREFIX_SEPARATORS_PATTERN","CREATE_CHARACTER_CLASS_PATTERN","CREATE_STANDALONE_DIGIT_PATTERN","NON_ALTERING_FORMAT_REG_EXP","AsYouTypeFormatter","isNANP","resetFormat","chosenFormat","nationalNumberTemplate","populatedNationalNumberTemplate","populatedNationalNumberTemplatePosition","matchingFormats","narrowDownMatchingFormats","formattedCompleteNumber","setNationalNumberTemplate","formatNationalNumberWithNextDigits","previouslyChosenFormat","newlyChosenFormat","chooseFormat","formatNextNationalNumberDigits","leadingDigitsPatternIndex","_this3","formatSuits","formatMatches","nationalPrefixIsMandatoryWhenFormattingInNationalFormat","leadingDigitsPatternsCount","leadingDigitsPattern","_ref5","_this4","getFormatFormat","createTemplateForFormat","_loop","getTemplateForFormat","spacing","internationalPrefix","getInternationalPrefixBeforeCountryCallingCode","getDigitsWithoutInternationalPrefix","strictPattern","nationalNumberDummyDigits","nationalPrefixIncludedInTemplate","numberFormat","numberFormatWithNationalPrefix","_i3","populateTemplateWithDigits","VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN","VALID_FORMATTED_PHONE_NUMBER_PART","AFTER_PHONE_NUMBER_DIGITS_END_PATTERN","COMPLEX_NATIONAL_PREFIX","AsYouTypeParser","onNationalSignificantNumberChange","justLeadingPlus","extractedNumber","hasPlus","_extractFormattedDigitsAndPlus","formattedDigits","extractFormattedDigitsAndPlus","startInternationalNumber","inputDigits","hasReceivedThreeLeadingDigits","appendDigits","extractIddPrefix","isWaitingForCountryCallingCode","appendNationalSignificantNumberDigits","hasExtractedNationalSignificantNumber","extractNationalSignificantNumber","couldPossiblyExtractAnotherNationalSignificantNumber","nationalDigits","onExtractedNationalNumber","prevNationalSignificantNumber","nationalSignificantNumberIndex","extractAnotherNationalSignificantNumber","fixMissingPlus","extractCallingCodeAndNationalSignificantNumber","newCallingCode","AsYouType","optionsOrDefaultCountry","getCountryAndCallingCode","parser","formattedOutput","determineTheCountryIfNeeded","reExtractNationalSignificantNumber","getFullNumber","getNonFormattedNumber","isInternational","getCallingCode","_getCountry","isCountryCallingCodeAmbiguous","determineTheCountry","getNonFormattedNationalNumberWithPrefix","getNumber","isPossible","getTemplate","getNonFormattedTemplate","getInputValuePrefix","withCountryCallingCode","removeInputValuePrefix","createInput","defaultMetadata","InputSmart","bool","InputBasic","newValue","formatIncompletePhoneNumber","getRegionalIndicatorSymbol","fromCodePoint","CountrySelect","onChange_","useMemo","getSelectedOption","label","divider","disabled","DIVIDER_STYLE","arrayOf","fontSize","backgroundColor","CountrySelectWithIcon","className","Icon","iconComponent","Arrow","getIconAspectRatio","arrowComponent","unicodeFlags","selectedOption","aspectRatio","option","FlagComponent","countryName","flagUrl","alt","role","InternationalIcon","InternationalIcon1x1","InternationalIcon3x2","xmlns","stroke","strokeLinecap","x1","y1","x2","y2","isCountrySupportedWithError","getSupportedCountries","createCountryIconComponent","flagComponent","internationalIcon","CountryIcon","_aspectRatio","DefaultInternationalIcon","Flag","ONLY_DIGITS_REGEXP","getInternationalPhoneNumberPrefix","parsePhoneNumber_","getPhoneDigitsForNewCountry","phoneDigits","prevCountry","newCountry","useNationalFormat","countryCallingCodePrefix","country_calling_code","stripCountryCallingCode","newCountryPrefix","e164","asYouType","getNumberValue","partial_national_significant_number","getNationalSignificantNumberDigits","trimNumber","nationalSignificantNumberPart","overflowDigitsCount","getMaxNumberLength","getCountryForPartialE164Number","partialE164Number","required","derived_country","getCountry","getCountryFromPossiblyIncompleteInternationalPhoneNumber","couldNumberBelongToCountry","convertInternationalPhoneDigitsToNational","formatNational","compareStrings","locales","localeCompare","intlPhoneNumberPrefix","getInitialPhoneDigits","generateNationalNumberDigits","PhoneNumberInput_","createRef","inputRef","focusInputOnCountrySelection","newPhoneDigits","focus","hasUserSelectedACountry","_phoneDigits","addInternationalOption","limitMaxLength","countryCallingCodeEditable","prevPhoneDigits","countryRequired","getAnyCountry","onPhoneDigitsChange","getFirstSupportedCountry","stateUpdate","forceRerender","isFocused","_onFocus","onFocus","onBlur","_onBlur","countrySelectProps","displayInitialValueAsLocalNumber","initialValueFormat","preSelectedCountry","getPreSelectedCountry","newDefaultCountry","newReset","prevDefaultCountry","prevReset","_getInitialPhoneDigits","parameters","isNewDefaultCountrySupported","noValueHasBeenEnteredByTheUser","parsedCountry","hasUserSelectedACountryUpdate","supportedCountries","getPhoneInputWithCountryStateUpdateFromNewProps","selectedCountry","prevState","dependencies","countryOptionsOrder","optionsOnTop","optionsOnBottom","appendTo","sortCountryOptions","countryNames","compareStringsLocales","_compareStrings","countrySelectOptions","ZZ","getCountrySelectOptions","countryOptions","getSupportedCountryOptions","countrySelectOptionsMemoDependencies","areEqualArrays","countrySelectOptionsMemo","readOnly","autoComplete","numberInputProps","smartCaret","CountrySelectComponent","countrySelectComponent","ContainerComponent","containerComponent","onCountryFocus","onCountryBlur","setInputRef","PhoneNumberInput","oneOf","labelsPropType","oneOfType","metadataPropType","any","createPhoneInput","PhoneInputDefault","PhoneInput","_arguments","_isValidPhoneNumber","arrayLikeToArray","arrayWithoutHoles","iterableToArray","nonIterableSpread","each","collection","_default","hashTable","uuid","objA","objB","compareContext","ret","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","stylis_min","W","C","K","u","I","B","J","G","N","ca","O","A","X","D","da","ea","fa","P","Y","E","ha","ia","Z","ja","ka","aa","ba","la","ma","R","oa","S","U","use","T","set","unitlessKeys","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","WebkitLineClamp","BrowserRouter","MAX_SIGNED_31_BIT_INT","commonjsGlobal","globalThis","global","createEventEmitter","handlers","handler","changedBits","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","getUniqueId","_Component","emitter","getChildContext","componentWillReceiveProps","oldValue","_Component2","observedBits","_proto2","WOFF","JPEG","mimes","woff","woff2","ttf","eot","png","jpg","jpeg","gif","tiff","svg","getMimeType","getExtension","getContentFromDataUrl","dataURL","isDataUrl","makeDataUrl","content","mimeType","fetchAsDataURL","init","fetch","status","blob","reader","FileReader","onerror","onloadend","readAsDataURL","cache","getCacheKey","contentType","includeQueryParams","resourceToDataURL","resourceUrl","cacheBust","getTime","fetchRequestInit","headers","imagePlaceholder","msg","warn","resolveUrl","baseUrl","protocol","doc","implementation","createHTMLDocument","head","appendChild","body","arrayLike","px","styleProperty","ownerDocument","defaultView","getPropertyValue","getNodeWidth","leftBorder","rightBorder","clientWidth","getNodeHeight","topBorder","bottomBorder","clientHeight","getImageSize","targetNode","getPixelRatio","ratio","FINAL_PROCESS","canvasDimensionLimit","checkCanvasDimensions","createImage","Image","onload","crossOrigin","decoding","svgToDataURL","XMLSerializer","serializeToString","html","nodeToDataURL","createElementNS","foreignObject","getPseudoElementStyle","pseudo","selector","cssText","formatCSSText","priority","getPropertyPriority","formatCSSProperties","createTextNode","clonePseudoElement","nativeNode","clonedNode","styleElement","cloneCanvasElement","toDataURL","cloneNode","cloneVideoElement","video","poster","cloneSingleNode","HTMLCanvasElement","HTMLVideoElement","isSlotElement","cloneChildren","assignedNodes","shadowRoot","deferred","clonedChild","decorate","Element","targetStyle","sourceStyle","transformOrigin","endsWith","reducedFont","cloneCSSStyle","clonePseudoElements","HTMLTextAreaElement","innerHTML","HTMLInputElement","cloneInputValue","HTMLSelectElement","clonedSelect","cloneSelectValue","isRoot","URL_REGEX","URL_WITH_FORMAT_REGEX","FONT_SRC_REGEX","toRegex","parseURLs","urls","quotation","embed","resourceURL","baseURL","getContentFromUrl","resolvedURL","filterPreferredFontFormat","preferredFontFormat","shouldEmbed","embedResources","filteredCSSText","css","embedBackground","background","cssString","embedImageNode","HTMLImageElement","SVGImageElement","baseVal","srcset","embedChildren","deferreds","embedImages","all","applyStyle","manual","cssFetchCache","fetchCSS","embedFonts","regexUrl","fontLocs","loadFonts","URL","parseCSS","keyframesRegex","importRegex","unifiedRegex","lastIndex","getCSSRules","styleSheets","sheet","cssRules","CSSRule","IMPORT_RULE","importIndex","rule","catch","inline","getWebFontRules","FONT_FACE_RULE","parseWebFontRules","getWebFontCSS","rules","parentStyleSheet","cssTexts","embedWebFonts","fontEmbedCSS","skipFonts","styleNode","sytleContent","firstChild","insertBefore","toSvg","datauri","toCanvas","canvasWidth","canvasHeight","skipAutoScale","toJpeg","quality","memoize","reactPropsRegex","StrictMode","Profiler","Suspense","for","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","refs","updater","isReactComponent","isPureReactComponent","__self","__source","$$typeof","_owner","escape","_status","_result","ReactCurrentDispatcher","ReactCurrentBatchConfig","ReactCurrentOwner","IsSomeRendererActing","only","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","_context","createFactory","lazy","_payload","_init","useContext","useDebugValue","useImperativeHandle","useLayoutEffect","useReducer","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","qa","removeAttribute","setAttributeNS","ra","sa","ta","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ma","Ka","La","Na","Oa","Pa","prepareStackTrace","Qa","tag","_render","Ra","Sa","Ta","nodeName","Va","_valueTracker","stopTracking","Ua","Wa","checked","Xa","activeElement","Ya","defaultChecked","_wrapperState","initialChecked","Za","initialValue","controlled","$a","ab","eb","db","fb","selected","defaultSelected","gb","dangerouslySetInnerHTML","hb","ib","jb","kb","lb","mb","ob","namespaceURI","MSApp","execUnsafeLocalFunction","lastChild","nodeValue","qb","gridArea","rb","sb","tb","ub","menuitem","area","br","col","hr","keygen","link","meta","param","track","wbr","vb","wb","is","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Rb","onError","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","return","$b","memoizedState","dehydrated","ac","cc","sibling","bc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","Map","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","sc","pointerId","tc","vc","wc","lanePriority","unstable_runWithPriority","hydrate","containerInfo","xc","yc","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","eventTimes","clz32","ad","bd","log","LN2","cd","unstable_UserBlockingPriority","dd","ed","fd","gd","hd","uc","jd","kd","ld","md","nd","charCode","od","pd","qd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","stopPropagation","cancelBubble","persist","isPersistent","vd","wd","xd","rd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","sd","td","view","detail","ud","zd","screenX","screenY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","yd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Ad","Cd","dataTransfer","Ed","Gd","animationName","elapsedTime","pseudoElement","Hd","clipboardData","Id","Kd","Ld","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Md","Nd","Alt","Control","Meta","Shift","Od","Pd","locale","which","Qd","Sd","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Ud","targetTouches","changedTouches","Wd","Xd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Yd","Zd","$d","ae","documentMode","be","ce","de","ee","fe","ge","he","ke","date","datetime","email","month","password","tel","week","le","me","ne","oe","pe","qe","se","te","ue","ve","we","xe","ye","oninput","ze","detachEvent","Ae","Be","Ce","De","Ee","Ge","He","Ie","Je","Ke","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","Ne","contentEditable","Oe","Pe","Qe","Re","Se","Te","anchorNode","anchorOffset","focusNode","focusOffset","Ue","Ve","We","Xe","Ye","Yb","Ze","$e","af","bf","cf","passive","Nb","df","ef","parentWindow","ff","gf","ie","je","hf","jf","kf","lf","autoFocus","mf","__html","nf","of","pf","qf","rf","previousSibling","sf","uf","vf","wf","xf","yf","zf","Af","Bf","Cf","Df","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ef","Ff","Gf","Hf","If","__reactInternalMemoizedMergedChildContext","Jf","Kf","Lf","Mf","Nf","Of","unstable_cancelCallback","Pf","unstable_shouldYield","Qf","unstable_requestPaint","Rf","Sf","unstable_getCurrentPriorityLevel","Tf","unstable_ImmediatePriority","Uf","Vf","Wf","unstable_LowPriority","Xf","unstable_IdlePriority","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","childLanes","sg","firstContext","lanes","tg","ug","responders","vg","wg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","xg","yg","eventTime","lane","zg","Ag","Bg","Cg","Dg","Eg","Fg","Jg","_reactInternals","Gg","Hg","Ig","Kg","shouldComponentUpdate","Lg","Mg","UNSAFE_componentWillReceiveProps","Ng","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","Og","Pg","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","documentElement","eh","fh","gh","hh","memoizedProps","revealOrder","ih","jh","kh","lh","mh","nh","pendingProps","oh","ph","qh","rh","sh","th","_workInProgressVersionPrimary","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","baseQueue","Hh","Ih","Jh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","Kh","Lh","_getVersion","_source","mutableReadLanes","Mh","getSnapshot","subscribe","setSnapshot","Nh","Oh","Ph","Qh","destroy","deps","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","readContext","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","tf","di","ei","fi","gi","hi","ii","ji","ki","li","baseLanes","mi","ni","oi","UNSAFE_componentWillUpdate","componentWillUpdate","pi","qi","pendingContext","Ai","Ci","Di","ri","retryLane","si","fallback","unstable_avoidThisFallback","ti","unstable_expectedLoadTime","ui","vi","wi","xi","yi","isBackwards","rendering","renderingStartTime","tail","tailMode","zi","Ei","Fi","wasMultiple","multiple","onClick","onclick","V","Gi","Hi","Ii","Ji","Ki","Li","Mi","Ni","WeakMap","Oi","Pi","Qi","Ri","componentDidCatch","Si","componentStack","Ti","WeakSet","Ui","Vi","Wi","__reactInternalSnapshotBeforeUpdate","Xi","Yi","Zi","$i","aj","onCommitFiberUnmount","bj","cj","dj","ej","fj","gj","_reactRootContainer","hj","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","bk","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Sc","Jj","Kj","Lj","callbackNode","expirationTimes","callbackPriority","Tc","Mj","Nj","Oj","Pj","Qj","Rj","Sj","finishedWork","finishedLanes","Tj","timeoutHandle","Vj","Wj","pingCache","Xj","Yj","va","Zj","ak","ck","rangeCount","focusedElem","selectionRange","dk","extend","createRange","setStart","removeAllRanges","addRange","setEnd","top","onCommitFiberRoot","ek","fk","hk","pendingChildren","ik","mutableSourceEagerHydrationData","jk","kk","lk","mk","nk","pk","hydrationOptions","mutableSources","_internalRoot","qk","sk","rk","tk","gk","unstable_observedBits","unmount","form","Uj","uk","Events","vk","findFiberByHostInstance","bundleType","rendererPackageName","wk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","xk","isDisabled","supportsFiber","createPortal","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","performance","MessageChannel","unstable_forceFrameRate","port2","port1","onmessage","postMessage","sortIndex","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","jsx","jsxs","isNativeReflectConstruct","possibleConstructorReturn","assertThisInitialized","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","ReactPropTypes","bigint","instanceOf","checkPropTypes","_innerSlider","_json2mq","_defaultProps","_innerSliderUtils","_assertThisInitialized","enquire","Slider","innerSlider","slickPrev","slickNext","dontAnimate","slickGoTo","pause","autoPlay","_responsiveMediaHandlers","query","register","responsive","breakpoints","breakpt","bQuery","minWidth","maxWidth","media","unregister","settings","newProps","resp","rows","slidesPerRow","newChildren","currentWidth","tabIndex","InnerSlider","innerSliderRefHandler","_initialState","_lodash","_classnames","_track","_dots","_arrows","_resizeObserverPolyfill","_objectWithoutProperties","sourceSymbolKeys","adaptiveHeight","ssrInit","onInit","onLazyLoad","updateState","adaptHeight","lazyLoadTimer","setInterval","progressiveLazyLoad","ro","onWindowResized","callbackTimers","observe","onfocus","pauseOnFocus","onSlideFocus","onblur","onSlideBlur","animationEndCallback","clearInterval","timer","autoplayTimer","disconnect","setTrackStyle","_Object$keys","checkImagesLoad","onReInit","debouncedResize","cancel","resizeWindow","updatedState","_trackWidth","_trackLeft","childrenWidths","preClones","postClones","_trackStyle","childrenCount","trackLeft","images","imagesCount","loadedCount","prevClickHandler","onLazyLoadError","_index","asNavFor","beforeChange","afterChange","_slideHandler","firstBatch","clickable","ontouchmove","disableBodyScroll","triggerSlideHandler","enableBodyScroll","playType","play","autoplaySpeed","pauseType","dots","prevArrow","nextArrow","trackProps","pauseOnHover","onMouseEnter","onTrackOver","onMouseLeave","onTrackLeave","onMouseOver","focusOnSelect","selectHandler","dotProps","pauseOnDotsHover","clickHandler","onDotsLeave","onDotsOver","Dots","arrowProps","arrows","PrevArrow","NextArrow","verticalHeightStyle","centerPaddingStyle","padding","listStyle","touchMove","listProps","onMouseDown","onMouseMove","onMouseUp","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","innerSliderProps","listRefHandler","Track","trackRefHandler","currentDirection","initialized","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","freeGlobal","freeSelf","objectToString","nativeMax","nativeMin","toNumber","isObjectLike","isSymbol","other","isBinary","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","thisArg","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","getSlideClasses","slickActive","slickCenter","slickCloned","getKey","fallbackKey","renderSlides","preCloneSlides","postCloneSlides","childOnClickOptions","childStyle","getSlideStyle","slideClass","slideClasses","outline","preCloneNo","_React$PureComponent","mouseEvents","leftBound","rightBound","dotOptions","customPaging","appendDots","dotsClass","prevClasses","prevHandler","prevArrowProps","customProps","_React$PureComponent2","nextClasses","nextHandler","nextArrowProps","MapShim","getIndex","class_1","__entries__","isBrowser","global$1","requestAnimationFrame$1","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","leadingCall","trailingCall","resolvePending","proxy","timeoutCallback","throttle","addObserver","observer","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","childList","characterData","subtree","_b","getInstance","instance_","defineConfigurable","getWindowOf","emptyRect","createRectInit","toFloat","getBordersSize","positions","getHTMLElementContentRect","paddings","positions_1","getPaddings","horizPad","vertPad","bottom","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","rect","broadcastRect","ResizeObserverEntry","rectInit","contentRect","Constr","DOMRectReadOnly","createReadOnlyRect","ResizeObserverSPI","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","observation","ResizeObserver","camel2hyphen","obj2mq","mq","features","feature","isDimension","MediaQueryDispatch","MediaQuery","Util","matchMedia","queries","browserIsIncapable","shouldDegrade","isUnconditional","addHandler","removeHandler","QueryHandler","mql","assess","constuctor","equals","deferSetup","setup","initialised","unmatch","_propTypes","_ansiColors","_loader","Loader","_react2","_propTypes2","componentNames","includes","Spinner","Audio","visible","ANSI_REGEX","enabled","FORCE_COLOR","newline","nl","codes","open","close","regex","ansi","alias","ansiRegex","hasColor","hasAnsi","theme","custom","none","stripColor","unstyle","isHyper","TERM_PROGRAM","isWindows","platform","isLinux","common","ballotDisabled","ballotOff","ballotOn","bullet","bulletWhite","fullBlock","heart","identicalTo","line","middot","minus","multiplication","obelus","pencilDownRight","pencilRight","pencilUpRight","percent","pilcrow2","pilcrow","plusMinus","question","section","starsOff","starsOn","upDownArrow","windows","cross","ellipsisLarge","ellipsis","questionSmall","pointer","pointerSmall","radioOff","radioOn","warning","ballotCross","questionFull","_Circles","_Watch","_Audio","_BallTriangle","_Bars","_CradleLoader","_Grid","_Hearts","_MutatingDots","_Oval","_Plane","_Puff","_RevolvingDot","_Rings","_TailSpin","_ThreeDots","_Triangle","Circles","BallTriangle","Bars","CradleLoader","Grid","Hearts","MutatingDots","Oval","Plane","Puff","RevolvingDot","Rings","TailSpin","ThreeDots","Triangle","Watch","dur","repeatCount","enableBackground","xmlSpace","cx","cy","rx","begin","calcMode","fillRule","stdDeviation","in2","attributeType","keyTimes","keySplines","secondaryColor","strokeLinejoin","stopColor","points","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Lazy","Memo","Portal","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf"],"mappings":"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","file":"static/js/2.4a01df7c.chunk.js","sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import _typeof from \"./typeof.js\";\nexport default function _regeneratorRuntime() {\n \"use strict\";\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n\n _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n };\n\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return generator._invoke = function (innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }(innerFn, self, context), generator;\n }\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n exports.wrap = wrap;\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n\n reject(record.arg);\n }\n\n var previousPromise;\n\n this._invoke = function (method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (undefined === method) {\n if (context.delegate = null, \"throw\" === context.method) {\n if (delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method)) return ContinueSentinel;\n context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) {\n if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n }\n\n return next.value = undefined, next.done = !0, next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, \"constructor\", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) {\n \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n }\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}","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}","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 Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : 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 return _extends.apply(this, arguments);\n}","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar _objectWithoutPropertiesLoose = _interopDefault(require('@babel/runtime/helpers/esm/objectWithoutPropertiesLoose'));\nvar _extends = _interopDefault(require('@babel/runtime/helpers/esm/extends'));\nvar React = require('react');\nvar React__default = _interopDefault(React);\nvar ReactDOM = _interopDefault(require('react-dom'));\n\nlet bugfixes = undefined;\nlet applyAnimatedValues = undefined;\nlet colorNames = [];\nlet requestFrame = cb => typeof window !== 'undefined' && window.requestAnimationFrame(cb);\nlet cancelFrame = cb => typeof window !== 'undefined' && window.cancelAnimationFrame(cb);\nlet interpolation = undefined;\nlet now = () => Date.now();\nlet defaultElement = undefined;\nlet createAnimatedStyle = undefined;\nconst injectApplyAnimatedValues = (fn, transform) => applyAnimatedValues = {\n fn,\n transform\n};\nconst injectColorNames = names => colorNames = names;\nconst injectBugfixes = fn => bugfixes = fn;\nconst injectInterpolation = cls => interpolation = cls;\nconst injectFrame = (raf, caf) => {\n var _ref = [raf, caf];\n requestFrame = _ref[0];\n cancelFrame = _ref[1];\n return _ref;\n};\nconst injectNow = nowFn => now = nowFn;\nconst injectDefaultElement = el => defaultElement = el;\nconst injectCreateAnimatedStyle = factory => createAnimatedStyle = factory;\n\nvar Globals = /*#__PURE__*/Object.freeze({\n get bugfixes () { return bugfixes; },\n get applyAnimatedValues () { return applyAnimatedValues; },\n get colorNames () { return colorNames; },\n get requestFrame () { return requestFrame; },\n get cancelFrame () { return cancelFrame; },\n get interpolation () { return interpolation; },\n get now () { return now; },\n get defaultElement () { return defaultElement; },\n get createAnimatedStyle () { return createAnimatedStyle; },\n injectApplyAnimatedValues: injectApplyAnimatedValues,\n injectColorNames: injectColorNames,\n injectBugfixes: injectBugfixes,\n injectInterpolation: injectInterpolation,\n injectFrame: injectFrame,\n injectNow: injectNow,\n injectDefaultElement: injectDefaultElement,\n injectCreateAnimatedStyle: injectCreateAnimatedStyle\n});\n\nclass Animated {\n attach() {}\n\n detach() {}\n\n getValue() {}\n\n getAnimatedValue() {\n return this.getValue();\n }\n\n addChild(child) {}\n\n removeChild(child) {}\n\n getChildren() {\n return [];\n }\n\n}\n\nconst getValues = object => Object.keys(object).map(k => object[k]);\n\nclass AnimatedWithChildren extends Animated {\n constructor() {\n var _this;\n\n super(...arguments);\n _this = this;\n this.children = [];\n\n this.getChildren = () => this.children;\n\n this.getPayload = function (index) {\n if (index === void 0) {\n index = undefined;\n }\n\n return index !== void 0 && _this.payload ? _this.payload[index] : _this.payload || _this;\n };\n }\n\n addChild(child) {\n if (this.children.length === 0) this.attach();\n this.children.push(child);\n }\n\n removeChild(child) {\n const index = this.children.indexOf(child);\n this.children.splice(index, 1);\n if (this.children.length === 0) this.detach();\n }\n\n}\nclass AnimatedArrayWithChildren extends AnimatedWithChildren {\n constructor() {\n super(...arguments);\n this.payload = [];\n\n this.getAnimatedValue = () => this.getValue();\n\n this.attach = () => this.payload.forEach(p => p instanceof Animated && p.addChild(this));\n\n this.detach = () => this.payload.forEach(p => p instanceof Animated && p.removeChild(this));\n }\n\n}\nclass AnimatedObjectWithChildren extends AnimatedWithChildren {\n constructor() {\n super(...arguments);\n this.payload = {};\n\n this.getAnimatedValue = () => this.getValue(true);\n\n this.attach = () => getValues(this.payload).forEach(s => s instanceof Animated && s.addChild(this));\n\n this.detach = () => getValues(this.payload).forEach(s => s instanceof Animated && s.removeChild(this));\n }\n\n getValue(animated) {\n if (animated === void 0) {\n animated = false;\n }\n\n const payload = {};\n\n for (const key in this.payload) {\n const value = this.payload[key];\n if (animated && !(value instanceof Animated)) continue;\n payload[key] = value instanceof Animated ? value[animated ? 'getAnimatedValue' : 'getValue']() : value;\n }\n\n return payload;\n }\n\n}\n\nclass AnimatedStyle extends AnimatedObjectWithChildren {\n constructor(style) {\n super();\n style = style || {};\n if (style.transform && !(style.transform instanceof Animated)) style = applyAnimatedValues.transform(style);\n this.payload = style;\n }\n\n}\n\n// http://www.w3.org/TR/css3-color/#svg-color\nconst colors = {\n transparent: 0x00000000,\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff\n};\n\nclass Interpolation {\n // Default config = config, args\n // Short config = range, output, extrapolate\n static create(config, output, extra) {\n if (typeof config === 'function') return config;else if (interpolation && config.output && typeof config.output[0] === 'string') return interpolation(config);else if (Array.isArray(config)) return Interpolation.create({\n range: config,\n output,\n extrapolate: extra || 'extend'\n });\n let outputRange = config.output;\n let inputRange = config.range || [0, 1];\n\n let easing = config.easing || (t => t);\n\n let extrapolateLeft = 'extend';\n let map = config.map;\n if (config.extrapolateLeft !== undefined) extrapolateLeft = config.extrapolateLeft;else if (config.extrapolate !== undefined) extrapolateLeft = config.extrapolate;\n let extrapolateRight = 'extend';\n if (config.extrapolateRight !== undefined) extrapolateRight = config.extrapolateRight;else if (config.extrapolate !== undefined) extrapolateRight = config.extrapolate;\n return input => {\n let range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, map);\n };\n }\n\n}\n\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {\n let result = map ? map(input) : input; // Extrapolate\n\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;\n }\n\n if (result > inputMax) {\n if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;\n }\n\n if (outputMin === outputMax) return outputMin;\n if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax; // Input Range\n\n if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin); // Easing\n\n result = easing(result); // Output Range\n\n if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;\n return result;\n}\n\nfunction findRange(input, inputRange) {\n for (var i = 1; i < inputRange.length - 1; ++i) if (inputRange[i] >= input) break;\n\n return i - 1;\n}\n\n// const INTEGER = '[-+]?\\\\d+';\nconst NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call() {\n return '\\\\(\\\\s*(' + Array.prototype.slice.call(arguments).join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nconst rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));\nconst rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));\nconst hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));\nconst hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));\nconst hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex6 = /^#([0-9a-fA-F]{6})$/;\nconst hex8 = /^#([0-9a-fA-F]{8})$/;\n\n/*\nhttps://github.com/react-community/normalize-css-color\n\nBSD 3-Clause License\n\nCopyright (c) 2016, React Community\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\nfunction normalizeColor(color) {\n let match;\n\n if (typeof color === 'number') {\n return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;\n } // Ordered based on occurrences on Facebook codebase\n\n\n if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;\n if (colors.hasOwnProperty(color)) return colors[color];\n\n if (match = rgb.exec(color)) {\n return (parse255(match[1]) << 24 | // r\n parse255(match[2]) << 16 | // g\n parse255(match[3]) << 8 | // b\n 0x000000ff) >>> // a\n 0;\n }\n\n if (match = rgba.exec(color)) {\n return (parse255(match[1]) << 24 | // r\n parse255(match[2]) << 16 | // g\n parse255(match[3]) << 8 | // b\n parse1(match[4])) >>> // a\n 0;\n }\n\n if (match = hex3.exec(color)) {\n return parseInt(match[1] + match[1] + // r\n match[2] + match[2] + // g\n match[3] + match[3] + // b\n 'ff', // a\n 16) >>> 0;\n } // https://drafts.csswg.org/css-color-4/#hex-notation\n\n\n if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;\n\n if (match = hex4.exec(color)) {\n return parseInt(match[1] + match[1] + // r\n match[2] + match[2] + // g\n match[3] + match[3] + // b\n match[4] + match[4], // a\n 16) >>> 0;\n }\n\n if (match = hsl.exec(color)) {\n return (hslToRgb(parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) | 0x000000ff) >>> // a\n 0;\n }\n\n if (match = hsla.exec(color)) {\n return (hslToRgb(parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) | parse1(match[4])) >>> // a\n 0;\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;\n}\n\nfunction parse255(str) {\n const int = parseInt(str, 10);\n if (int < 0) return 0;\n if (int > 255) return 255;\n return int;\n}\n\nfunction parse360(str) {\n const int = parseFloat(str);\n return (int % 360 + 360) % 360 / 360;\n}\n\nfunction parse1(str) {\n const num = parseFloat(str);\n if (num < 0) return 0;\n if (num > 1) return 255;\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n // parseFloat conveniently ignores the final %\n const int = parseFloat(str);\n if (int < 0) return 0;\n if (int > 100) return 1;\n return int / 100;\n}\n\nfunction colorToRgba(input) {\n let int32Color = normalizeColor(input);\n if (int32Color === null) return input;\n int32Color = int32Color || 0;\n let r = (int32Color & 0xff000000) >>> 24;\n let g = (int32Color & 0x00ff0000) >>> 16;\n let b = (int32Color & 0x0000ff00) >>> 8;\n let a = (int32Color & 0x000000ff) / 255;\n return `rgba(${r}, ${g}, ${b}, ${a})`;\n} // Problem: https://github.com/animatedjs/animated/pull/102\n// Solution: https://stackoverflow.com/questions/638565/parsing-scientific-notation-sensibly/658662\n\n\nconst stringShapeRegex = /[+\\-]?(?:0|[1-9]\\d*)(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g; // Covers rgb, rgba, hsl, hsla\n// Taken from https://gist.github.com/olmokramer/82ccce673f86db7cda5e\n\nconst colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d\\.]+%?\\))/gi; // Covers color names (transparent, blue, etc.)\n\nconst colorNamesRegex = new RegExp(`(${Object.keys(colors).join('|')})`, 'g');\n/**\n * Supports string shapes by extracting numbers so new values can be computed,\n * and recombines those values into new strings of the same shape. Supports\n * things like:\n *\n * rgba(123, 42, 99, 0.36) // colors\n * -45deg // values with units\n * 0 2px 2px 0px rgba(0, 0, 0, 0.12) // box shadows\n */\n\nfunction createInterpolation(config) {\n // Replace colors with rgba\n const outputRange = config.output.map(rangeValue => rangeValue.replace(colorRegex, colorToRgba)).map(rangeValue => rangeValue.replace(colorNamesRegex, colorToRgba)); // ->\n // [\n // [0, 50],\n // [100, 150],\n // [200, 250],\n // [0, 0.5],\n // ]\n\n const outputRanges = outputRange[0].match(stringShapeRegex).map(() => []);\n outputRange.forEach(value => {\n value.match(stringShapeRegex).forEach((number, i) => outputRanges[i].push(+number));\n });\n const interpolations = outputRange[0].match(stringShapeRegex).map((value, i) => {\n return Interpolation.create(_extends({}, config, {\n output: outputRanges[i]\n }));\n });\n return input => {\n let i = 0;\n return outputRange[0] // 'rgba(0, 100, 200, 0)'\n // ->\n // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'\n .replace(stringShapeRegex, () => interpolations[i++](input)) // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to\n // round the opacity (4th column).\n .replace(/rgba\\(([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+)\\)/gi, (_, p1, p2, p3, p4) => `rgba(${Math.round(p1)}, ${Math.round(p2)}, ${Math.round(p3)}, ${p4})`);\n };\n}\n\nclass AnimatedInterpolation extends AnimatedArrayWithChildren {\n constructor(parents, _config, _arg) {\n super();\n\n this.getValue = () => this.calc(...this.payload.map(value => value.getValue()));\n\n this.updateConfig = (config, arg) => this.calc = Interpolation.create(config, arg);\n\n this.interpolate = (config, arg) => new AnimatedInterpolation(this, config, arg);\n\n this.payload = // AnimatedArrays should unfold, except AnimatedInterpolation which is taken as is\n parents instanceof AnimatedArrayWithChildren && !parents.updateConfig ? parents.payload : Array.isArray(parents) ? parents : [parents];\n this.calc = Interpolation.create(_config, _arg);\n }\n\n}\nconst interpolate$1 = (parents, config, arg) => parents && new AnimatedInterpolation(parents, config, arg);\n\n/**\n * Animated works by building a directed acyclic graph of dependencies\n * transparently when you render your Animated components.\n *\n * new Animated.Value(0)\n * .interpolate() .interpolate() new Animated.Value(1)\n * opacity translateY scale\n * style transform\n * View#234 style\n * View#123\n *\n * A) Top Down phase\n * When an Animated.Value is updated, we recursively go down through this\n * graph in order to find leaf nodes: the views that we flag as needing\n * an update.\n *\n * B) Bottom Up phase\n * When a view is flagged as needing an update, we recursively go back up\n * in order to build the new value that it needs. The reason why we need\n * this two-phases process is to deal with composite props such as\n * transform which can receive values from multiple parents.\n */\n\nfunction findAnimatedStyles(node, styles) {\n if (typeof node.update === 'function') styles.add(node);else node.getChildren().forEach(child => findAnimatedStyles(child, styles));\n}\n/**\n * Standard value for driving animations. One `Animated.Value` can drive\n * multiple properties in a synchronized fashion, but can only be driven by one\n * mechanism at a time. Using a new mechanism (e.g. starting a new animation,\n * or calling `setValue`) will stop any previous ones.\n */\n\n\nclass AnimatedValue extends AnimatedWithChildren {\n constructor(_value) {\n var _this;\n\n super();\n _this = this;\n\n this.setValue = function (value, flush) {\n if (flush === void 0) {\n flush = true;\n }\n\n _this.value = value;\n if (flush) _this.flush();\n };\n\n this.getValue = () => this.value;\n\n this.updateStyles = () => findAnimatedStyles(this, this.animatedStyles);\n\n this.updateValue = value => this.flush(this.value = value);\n\n this.interpolate = (config, arg) => new AnimatedInterpolation(this, config, arg);\n\n this.value = _value;\n this.animatedStyles = new Set();\n this.done = false;\n this.startPosition = _value;\n this.lastPosition = _value;\n this.lastVelocity = undefined;\n this.lastTime = undefined;\n this.controller = undefined;\n }\n\n flush() {\n if (this.animatedStyles.size === 0) this.updateStyles();\n this.animatedStyles.forEach(animatedStyle => animatedStyle.update());\n }\n\n prepare(controller) {\n // Values stay loyal to their original controller, this is also a way to\n // detect trailing values originating from a foreign controller\n if (this.controller === undefined) this.controller = controller;\n\n if (this.controller === controller) {\n this.startPosition = this.value;\n this.lastPosition = this.value;\n this.lastVelocity = controller.isActive ? this.lastVelocity : undefined;\n this.lastTime = controller.isActive ? this.lastTime : undefined;\n this.done = false;\n this.animatedStyles.clear();\n }\n }\n\n}\n\nclass AnimatedArray extends AnimatedArrayWithChildren {\n constructor(array) {\n var _this;\n\n super();\n _this = this;\n\n this.setValue = function (value, flush) {\n if (flush === void 0) {\n flush = true;\n }\n\n if (Array.isArray(value)) {\n if (value.length === _this.payload.length) value.forEach((v, i) => _this.payload[i].setValue(v, flush));\n } else _this.payload.forEach((v, i) => _this.payload[i].setValue(value, flush));\n };\n\n this.getValue = () => this.payload.map(v => v.getValue());\n\n this.interpolate = (config, arg) => new AnimatedInterpolation(this, config, arg);\n\n this.payload = array.map(n => new AnimatedValue(n));\n }\n\n}\n\nfunction withDefault(value, defaultValue) {\n return value === undefined || value === null ? defaultValue : value;\n}\nfunction toArray(a) {\n return a !== void 0 ? Array.isArray(a) ? a : [a] : [];\n}\nfunction shallowEqual(a, b) {\n if (typeof a !== typeof b) return false;\n if (typeof a === 'string' || typeof a === 'number') return a === b;\n let i;\n\n for (i in a) if (!(i in b)) return false;\n\n for (i in b) if (a[i] !== b[i]) return false;\n\n return i === void 0 ? a === b : true;\n}\nfunction callProp(obj) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return typeof obj === 'function' ? obj(...args) : obj;\n}\nfunction getValues$1(object) {\n return Object.keys(object).map(k => object[k]);\n}\nfunction getForwardProps(props) {\n const to = props.to,\n from = props.from,\n config = props.config,\n native = props.native,\n onStart = props.onStart,\n onRest = props.onRest,\n onFrame = props.onFrame,\n children = props.children,\n reset = props.reset,\n reverse = props.reverse,\n force = props.force,\n immediate = props.immediate,\n impl = props.impl,\n inject = props.inject,\n delay = props.delay,\n attach = props.attach,\n destroyed = props.destroyed,\n interpolateTo = props.interpolateTo,\n autoStart = props.autoStart,\n ref = props.ref,\n forward = _objectWithoutPropertiesLoose(props, [\"to\", \"from\", \"config\", \"native\", \"onStart\", \"onRest\", \"onFrame\", \"children\", \"reset\", \"reverse\", \"force\", \"immediate\", \"impl\", \"inject\", \"delay\", \"attach\", \"destroyed\", \"interpolateTo\", \"autoStart\", \"ref\"]);\n\n return forward;\n}\nfunction interpolateTo(props) {\n const forward = getForwardProps(props);\n const rest = Object.keys(props).reduce((a, k) => forward[k] !== void 0 ? a : _extends({}, a, {\n [k]: props[k]\n }), {});\n return _extends({\n to: forward\n }, rest);\n}\nfunction convertToAnimatedValue(acc, _ref) {\n let name = _ref[0],\n value = _ref[1];\n return _extends({}, acc, {\n [name]: new (Array.isArray(value) ? AnimatedArray : AnimatedValue)(value)\n });\n}\nfunction convertValues(props) {\n const from = props.from,\n to = props.to,\n native = props.native;\n const allProps = Object.entries(_extends({}, from, to));\n return native ? allProps.reduce(convertToAnimatedValue, {}) : _extends({}, from, to);\n}\nfunction handleRef(ref, forward) {\n if (forward) {\n // If it's a function, assume it's a ref callback\n if (typeof forward === 'function') forward(ref);else if (typeof forward === 'object') {\n // If it's an object and has a 'current' property, assume it's a ref object\n forward.current = ref;\n }\n }\n\n return ref;\n}\n\nconst check = value => value === 'auto';\n\nconst overwrite = (width, height) => (acc, _ref) => {\n let name = _ref[0],\n value = _ref[1];\n return _extends({}, acc, {\n [name]: value === 'auto' ? ~name.indexOf('height') ? height : width : value\n });\n};\n\nfunction fixAuto(props, callback) {\n const from = props.from,\n to = props.to,\n children = props.children; // Dry-route props back if nothing's using 'auto' in there\n // TODO: deal with \"null\"\n\n if (!(getValues$1(to).some(check) || getValues$1(from).some(check))) return; // Fetch render v-dom\n\n let element = children(convertValues(props)); // A spring can return undefined/null, check against that (#153)\n\n if (!element) return; // Or it could be an array (#346) ...\n\n if (Array.isArray(element)) element = {\n type: 'div',\n props: {\n children: element\n } // Extract styles\n\n };\n const elementStyles = element.props.style; // Return v.dom with injected ref\n\n return React__default.createElement(element.type, _extends({\n key: element.key ? element.key : undefined\n }, element.props, {\n style: _extends({}, elementStyles, {\n position: 'absolute',\n visibility: 'hidden'\n }),\n ref: _ref2 => {\n if (_ref2) {\n // Once it's rendered out, fetch bounds (minus padding/margin/borders)\n let node = ReactDOM.findDOMNode(_ref2);\n let width, height;\n let cs = getComputedStyle(node);\n\n if (cs.boxSizing === 'border-box') {\n width = node.offsetWidth;\n height = node.offsetHeight;\n } else {\n const paddingX = parseFloat(cs.paddingLeft || 0) + parseFloat(cs.paddingRight || 0);\n const paddingY = parseFloat(cs.paddingTop || 0) + parseFloat(cs.paddingBottom || 0);\n const borderX = parseFloat(cs.borderLeftWidth || 0) + parseFloat(cs.borderRightWidth || 0);\n const borderY = parseFloat(cs.borderTopWidth || 0) + parseFloat(cs.borderBottomWidth || 0);\n width = node.offsetWidth - paddingX - borderX;\n height = node.offsetHeight - paddingY - borderY;\n }\n\n const convert = overwrite(width, height);\n callback(_extends({}, props, {\n from: Object.entries(from).reduce(convert, from),\n to: Object.entries(to).reduce(convert, to)\n }));\n }\n }\n }));\n}\n\nlet isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n\nconst prefixKey = (prefix, key) => prefix + key.charAt(0).toUpperCase() + key.substring(1);\n\nconst prefixes = ['Webkit', 'Ms', 'Moz', 'O'];\nisUnitlessNumber = Object.keys(isUnitlessNumber).reduce((acc, prop) => {\n prefixes.forEach(prefix => acc[prefixKey(prefix, prop)] = acc[prop]);\n return acc;\n}, isUnitlessNumber);\n\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n if (value == null || typeof value === 'boolean' || value === '') return '';\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n\n return ('' + value).trim();\n}\n\nconst attributeCache = {};\ninjectCreateAnimatedStyle(style => new AnimatedStyle(style));\ninjectDefaultElement('div');\ninjectInterpolation(createInterpolation);\ninjectColorNames(colors);\ninjectBugfixes(fixAuto);\ninjectApplyAnimatedValues((instance, props) => {\n if (instance.nodeType && instance.setAttribute !== undefined) {\n const style = props.style,\n children = props.children,\n scrollTop = props.scrollTop,\n scrollLeft = props.scrollLeft,\n attributes = _objectWithoutPropertiesLoose(props, [\"style\", \"children\", \"scrollTop\", \"scrollLeft\"]);\n\n if (scrollTop !== void 0) instance.scrollTop = scrollTop;\n if (scrollLeft !== void 0) instance.scrollLeft = scrollLeft; // Set textContent, if children is an animatable value\n\n if (children !== void 0) instance.textContent = children; // Set styles ...\n\n for (let styleName in style) {\n if (!style.hasOwnProperty(styleName)) continue;\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = dangerousStyleValue(styleName, style[styleName], isCustomProperty);\n if (styleName === 'float') styleName = 'cssFloat';\n if (isCustomProperty) instance.style.setProperty(styleName, styleValue);else instance.style[styleName] = styleValue;\n } // Set attributes ...\n\n\n for (let name in attributes) {\n // Attributes are written in dash case\n const dashCase = attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, n => '-' + n.toLowerCase()));\n if (typeof instance.getAttribute(dashCase) !== 'undefined') instance.setAttribute(dashCase, attributes[name]);\n }\n } else return false;\n}, style => style);\n\nlet active = false;\nconst controllers = new Set();\n\nconst frameLoop = () => {\n let time = now();\n\n for (let controller of controllers) {\n let isDone = true;\n let noChange = true;\n\n for (let configIdx = 0; configIdx < controller.configs.length; configIdx++) {\n let config = controller.configs[configIdx];\n let endOfAnimation, lastTime;\n\n for (let valIdx = 0; valIdx < config.animatedValues.length; valIdx++) {\n let animation = config.animatedValues[valIdx]; // If an animation is done, skip, until all of them conclude\n\n if (animation.done) continue;\n let from = config.fromValues[valIdx];\n let to = config.toValues[valIdx];\n let position = animation.lastPosition;\n let isAnimated = to instanceof Animated;\n let velocity = Array.isArray(config.initialVelocity) ? config.initialVelocity[valIdx] : config.initialVelocity;\n if (isAnimated) to = to.getValue(); // Conclude animation if it's either immediate, or from-values match end-state\n\n if (config.immediate || !isAnimated && !config.decay && from === to) {\n animation.updateValue(to);\n animation.done = true;\n continue;\n } // Doing delay here instead of setTimeout is one async worry less\n\n\n if (config.delay && time - controller.startTime < config.delay) {\n isDone = false;\n continue;\n } // Flag change\n\n\n noChange = false; // Break animation when string values are involved\n\n if (typeof from === 'string' || typeof to === 'string') {\n animation.updateValue(to);\n animation.done = true;\n continue;\n }\n\n if (config.duration !== void 0) {\n /** Duration easing */\n position = from + config.easing((time - controller.startTime - config.delay) / config.duration) * (to - from);\n endOfAnimation = time >= controller.startTime + config.delay + config.duration;\n } else if (config.decay) {\n /** Decay easing */\n position = from + velocity / (1 - 0.998) * (1 - Math.exp(-(1 - 0.998) * (time - controller.startTime)));\n endOfAnimation = Math.abs(animation.lastPosition - position) < 0.1;\n if (endOfAnimation) to = position;\n } else {\n /** Spring easing */\n lastTime = animation.lastTime !== void 0 ? animation.lastTime : time;\n velocity = animation.lastVelocity !== void 0 ? animation.lastVelocity : config.initialVelocity; // If we lost a lot of frames just jump to the end.\n\n if (time > lastTime + 64) lastTime = time; // http://gafferongames.com/game-physics/fix-your-timestep/\n\n let numSteps = Math.floor(time - lastTime);\n\n for (let i = 0; i < numSteps; ++i) {\n let force = -config.tension * (position - to);\n let damping = -config.friction * velocity;\n let acceleration = (force + damping) / config.mass;\n velocity = velocity + acceleration * 1 / 1000;\n position = position + velocity * 1 / 1000;\n } // Conditions for stopping the spring animation\n\n\n let isOvershooting = config.clamp && config.tension !== 0 ? from < to ? position > to : position < to : false;\n let isVelocity = Math.abs(velocity) <= config.precision;\n let isDisplacement = config.tension !== 0 ? Math.abs(to - position) <= config.precision : true;\n endOfAnimation = isOvershooting || isVelocity && isDisplacement;\n animation.lastVelocity = velocity;\n animation.lastTime = time;\n } // Trails aren't done until their parents conclude\n\n\n if (isAnimated && !config.toValues[valIdx].done) endOfAnimation = false;\n\n if (endOfAnimation) {\n // Ensure that we end up with a round value\n if (animation.value !== to) position = to;\n animation.done = true;\n } else isDone = false;\n\n animation.updateValue(position);\n animation.lastPosition = position;\n } // Keep track of updated values only when necessary\n\n\n if (controller.props.onFrame || !controller.props.native) controller.animatedProps[config.name] = config.interpolation.getValue();\n } // Update callbacks in the end of the frame\n\n\n if (controller.props.onFrame || !controller.props.native) {\n if (!controller.props.native && controller.onUpdate) controller.onUpdate();\n if (controller.props.onFrame) controller.props.onFrame(controller.animatedProps);\n } // Either call onEnd or next frame\n\n\n if (isDone) {\n controllers.delete(controller);\n controller.debouncedOnEnd({\n finished: true,\n noChange\n });\n }\n } // Loop over as long as there are controllers ...\n\n\n if (controllers.size) requestFrame(frameLoop);else active = false;\n};\n\nconst addController = controller => {\n if (!controllers.has(controller)) {\n controllers.add(controller);\n if (!active) requestFrame(frameLoop);\n active = true;\n }\n};\n\nconst removeController = controller => {\n if (controllers.has(controller)) {\n controllers.delete(controller);\n }\n};\n\nclass Controller {\n constructor(props, config) {\n if (config === void 0) {\n config = {\n native: true,\n interpolateTo: true,\n autoStart: true\n };\n }\n\n this.getValues = () => this.props.native ? this.interpolations : this.animatedProps;\n\n this.dependents = new Set();\n this.isActive = false;\n this.hasChanged = false;\n this.props = {};\n this.merged = {};\n this.animations = {};\n this.interpolations = {};\n this.animatedProps = {};\n this.configs = [];\n this.frame = undefined;\n this.startTime = undefined;\n this.lastTime = undefined;\n this.update(_extends({}, props, config));\n }\n\n update(props) {\n this.props = _extends({}, this.props, props);\n\n let _ref = this.props.interpolateTo ? interpolateTo(this.props) : this.props,\n _ref$from = _ref.from,\n from = _ref$from === void 0 ? {} : _ref$from,\n _ref$to = _ref.to,\n to = _ref$to === void 0 ? {} : _ref$to,\n _ref$config = _ref.config,\n config = _ref$config === void 0 ? {} : _ref$config,\n _ref$delay = _ref.delay,\n delay = _ref$delay === void 0 ? 0 : _ref$delay,\n reverse = _ref.reverse,\n attach = _ref.attach,\n reset = _ref.reset,\n immediate = _ref.immediate,\n autoStart = _ref.autoStart,\n ref = _ref.ref; // Reverse values when requested\n\n\n if (reverse) {\n var _ref2 = [to, from];\n from = _ref2[0];\n to = _ref2[1];\n }\n\n this.hasChanged = false; // Attachment handling, trailed springs can \"attach\" themselves to a previous spring\n\n let target = attach && attach(this); // Reset merged props when necessary\n\n let extra = reset ? {} : this.merged; // This will collect all props that were ever set\n\n this.merged = _extends({}, from, extra, to); // Reduces input { name: value } pairs into animated values\n\n this.animations = Object.entries(this.merged).reduce((acc, _ref3, i) => {\n let name = _ref3[0],\n value = _ref3[1];\n // Issue cached entries, except on reset\n let entry = !reset && acc[name] || {}; // Figure out what the value is supposed to be\n\n const isNumber = typeof value === 'number';\n const isString = typeof value === 'string' && !value.startsWith('#') && !/\\d/.test(value) && !colorNames[value];\n const isArray = !isNumber && !isString && Array.isArray(value);\n let fromValue = from[name] !== undefined ? from[name] : value;\n let toValue = isNumber || isArray ? value : isString ? value : 1;\n let toConfig = callProp(config, name);\n if (target) toValue = target.animations[name].parent; // Detect changes, animated values will be checked in the raf-loop\n\n if (toConfig.decay !== void 0 || !shallowEqual(entry.changes, value)) {\n this.hasChanged = true;\n let parent, interpolation$$1;\n if (isNumber || isString) parent = interpolation$$1 = entry.parent || new AnimatedValue(fromValue);else if (isArray) parent = interpolation$$1 = entry.parent || new AnimatedArray(fromValue);else {\n const prev = entry.interpolation && entry.interpolation.calc(entry.parent.value);\n\n if (entry.parent) {\n parent = entry.parent;\n parent.setValue(0, false);\n } else parent = new AnimatedValue(0);\n\n const range = {\n output: [prev !== void 0 ? prev : fromValue, value]\n };\n\n if (entry.interpolation) {\n interpolation$$1 = entry.interpolation;\n entry.interpolation.updateConfig(range);\n } else interpolation$$1 = parent.interpolate(range);\n } // Set immediate values\n\n if (callProp(immediate, name)) parent.setValue(value, false); // Reset animated values\n\n const animatedValues = toArray(parent.getPayload());\n animatedValues.forEach(value => value.prepare(this));\n return _extends({}, acc, {\n [name]: _extends({}, entry, {\n name,\n parent,\n interpolation: interpolation$$1,\n animatedValues,\n changes: value,\n fromValues: toArray(parent.getValue()),\n toValues: toArray(target ? toValue.getPayload() : toValue),\n immediate: callProp(immediate, name),\n delay: withDefault(toConfig.delay, delay || 0),\n initialVelocity: withDefault(toConfig.velocity, 0),\n clamp: withDefault(toConfig.clamp, false),\n precision: withDefault(toConfig.precision, 0.01),\n tension: withDefault(toConfig.tension, 170),\n friction: withDefault(toConfig.friction, 26),\n mass: withDefault(toConfig.mass, 1),\n duration: toConfig.duration,\n easing: withDefault(toConfig.easing, t => t),\n decay: toConfig.decay\n })\n });\n } else return acc;\n }, this.animations);\n\n if (this.hasChanged) {\n this.configs = getValues$1(this.animations);\n this.animatedProps = {};\n this.interpolations = {};\n\n for (let key in this.animations) {\n this.interpolations[key] = this.animations[key].interpolation;\n this.animatedProps[key] = this.animations[key].interpolation.getValue();\n }\n } // TODO: clean up ref in controller\n\n\n for (var _len = arguments.length, start = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n start[_key - 1] = arguments[_key];\n }\n\n if (!ref && (autoStart || start.length)) this.start(...start);\n const onEnd = start[0],\n onUpdate = start[1];\n this.onEnd = typeof onEnd === 'function' && onEnd;\n this.onUpdate = onUpdate;\n return this.getValues();\n }\n\n start(onEnd, onUpdate) {\n this.startTime = now();\n if (this.isActive) this.stop();\n this.isActive = true;\n this.onEnd = typeof onEnd === 'function' && onEnd;\n this.onUpdate = onUpdate;\n if (this.props.onStart) this.props.onStart();\n addController(this);\n return new Promise(res => this.resolve = res);\n }\n\n stop(finished) {\n if (finished === void 0) {\n finished = false;\n }\n\n // Reset collected changes since the animation has been stopped cold turkey\n if (finished) getValues$1(this.animations).forEach(a => a.changes = undefined);\n this.debouncedOnEnd({\n finished\n });\n }\n\n destroy() {\n removeController(this);\n this.props = {};\n this.merged = {};\n this.animations = {};\n this.interpolations = {};\n this.animatedProps = {};\n this.configs = [];\n }\n\n debouncedOnEnd(result) {\n removeController(this);\n this.isActive = false;\n const onEnd = this.onEnd;\n this.onEnd = null;\n if (onEnd) onEnd(result);\n if (this.resolve) this.resolve();\n this.resolve = null;\n }\n\n}\n\nclass AnimatedProps extends AnimatedObjectWithChildren {\n constructor(props, callback) {\n super();\n if (props.style) props = _extends({}, props, {\n style: createAnimatedStyle(props.style)\n });\n this.payload = props;\n this.update = callback;\n this.attach();\n }\n\n}\n\nfunction createAnimatedComponent(Component) {\n class AnimatedComponent extends React__default.Component {\n constructor(props) {\n super();\n\n this.callback = () => {\n if (this.node) {\n const didUpdate = applyAnimatedValues.fn(this.node, this.propsAnimated.getAnimatedValue(), this);\n if (didUpdate === false) this.forceUpdate();\n }\n };\n\n this.attachProps(props);\n }\n\n componentWillUnmount() {\n this.propsAnimated && this.propsAnimated.detach();\n }\n\n setNativeProps(props) {\n const didUpdate = applyAnimatedValues.fn(this.node, props, this);\n if (didUpdate === false) this.forceUpdate();\n } // The system is best designed when setNativeProps is implemented. It is\n // able to avoid re-rendering and directly set the attributes that\n // changed. However, setNativeProps can only be implemented on leaf\n // native components. If you want to animate a composite component, you\n // need to re-render it. In this case, we have a fallback that uses\n // forceUpdate.\n\n\n attachProps(_ref) {\n let forwardRef = _ref.forwardRef,\n nextProps = _objectWithoutPropertiesLoose(_ref, [\"forwardRef\"]);\n\n const oldPropsAnimated = this.propsAnimated;\n this.propsAnimated = new AnimatedProps(nextProps, this.callback); // When you call detach, it removes the element from the parent list\n // of children. If it goes to 0, then the parent also detaches itself\n // and so on.\n // An optimization is to attach the new elements and THEN detach the old\n // ones instead of detaching and THEN attaching.\n // This way the intermediate state isn't to go to 0 and trigger\n // this expensive recursive detaching to then re-attach everything on\n // the very next operation.\n\n oldPropsAnimated && oldPropsAnimated.detach();\n }\n\n shouldComponentUpdate(props) {\n const style = props.style,\n nextProps = _objectWithoutPropertiesLoose(props, [\"style\"]);\n\n const _this$props = this.props,\n currentStyle = _this$props.style,\n currentProps = _objectWithoutPropertiesLoose(_this$props, [\"style\"]);\n\n if (!shallowEqual(currentProps, nextProps) || !shallowEqual(currentStyle, style)) {\n this.attachProps(props);\n return true;\n }\n\n return false;\n }\n\n render() {\n const _this$propsAnimated$g = this.propsAnimated.getValue(),\n scrollTop = _this$propsAnimated$g.scrollTop,\n scrollLeft = _this$propsAnimated$g.scrollLeft,\n animatedProps = _objectWithoutPropertiesLoose(_this$propsAnimated$g, [\"scrollTop\", \"scrollLeft\"]);\n\n return React__default.createElement(Component, _extends({}, animatedProps, {\n ref: node => this.node = handleRef(node, this.props.forwardRef)\n }));\n }\n\n }\n\n return React__default.forwardRef((props, ref) => React__default.createElement(AnimatedComponent, _extends({}, props, {\n forwardRef: ref\n })));\n}\n\nconst config = {\n default: {\n tension: 170,\n friction: 26\n },\n gentle: {\n tension: 120,\n friction: 14\n },\n wobbly: {\n tension: 180,\n friction: 12\n },\n stiff: {\n tension: 210,\n friction: 20\n },\n slow: {\n tension: 280,\n friction: 60\n },\n molasses: {\n tension: 280,\n friction: 120\n }\n};\n\nclass Spring extends React__default.Component {\n constructor() {\n super(...arguments);\n this.state = {\n lastProps: {\n from: {},\n to: {}\n },\n propsChanged: false,\n internal: false\n };\n this.controller = new Controller(null, null);\n this.didUpdate = false;\n this.didInject = false;\n this.finished = true;\n\n this.start = () => {\n this.finished = false;\n let wasMounted = this.mounted;\n this.controller.start(props => this.finish(_extends({}, props, {\n wasMounted\n })), this.update);\n };\n\n this.stop = () => this.controller.stop(true);\n\n this.update = () => this.mounted && this.setState({\n internal: true\n });\n\n this.finish = (_ref) => {\n let finished = _ref.finished,\n noChange = _ref.noChange,\n wasMounted = _ref.wasMounted;\n this.finished = true;\n\n if (this.mounted && finished) {\n // Only call onRest if either we *were* mounted, or when there were changes\n if (this.props.onRest && (wasMounted || !noChange)) this.props.onRest(this.controller.merged); // Restore end-state\n\n if (this.mounted && this.didInject) {\n this.afterInject = convertValues(this.props);\n this.setState({\n internal: true\n });\n } // If we have an inject or values to apply after the animation we ping here\n\n\n if (this.mounted && (this.didInject || this.props.after)) this.setState({\n internal: true\n });\n this.didInject = false;\n }\n };\n }\n\n componentDidMount() {\n // componentDidUpdate isn't called on mount, we call it here to start animating\n this.componentDidUpdate();\n this.mounted = true;\n }\n\n componentWillUnmount() {\n // Stop all ongoing animtions\n this.mounted = false;\n this.stop();\n }\n\n static getDerivedStateFromProps(props, _ref2) {\n let internal = _ref2.internal,\n lastProps = _ref2.lastProps;\n // The following is a test against props that could alter the animation\n const from = props.from,\n to = props.to,\n reset = props.reset,\n force = props.force;\n const propsChanged = !shallowEqual(to, lastProps.to) || !shallowEqual(from, lastProps.from) || reset && !internal || force && !internal;\n return {\n propsChanged,\n lastProps: props,\n internal: false\n };\n }\n\n render() {\n const children = this.props.children;\n const propsChanged = this.state.propsChanged; // Inject phase -----------------------------------------------------------\n // Handle injected frames, for instance targets/web/fix-auto\n // An inject will return an intermediary React node which measures itself out\n // .. and returns a callback when the values sought after are ready, usually \"auto\".\n\n if (this.props.inject && propsChanged && !this.injectProps) {\n const frame = this.props.inject(this.props, injectProps => {\n // The inject frame has rendered, now let's update animations...\n this.injectProps = injectProps;\n this.setState({\n internal: true\n });\n }); // Render out injected frame\n\n if (frame) return frame;\n } // Update phase -----------------------------------------------------------\n\n\n if (this.injectProps || propsChanged) {\n // We can potentially cause setState, but we're inside render, the flag prevents that\n this.didInject = false; // Update animations, this turns from/to props into AnimatedValues\n // An update can occur on injected props, or when own-props have changed.\n\n if (this.injectProps) {\n this.controller.update(this.injectProps); // didInject is needed, because there will be a 3rd stage, where the original values\n // .. will be restored after the animation is finished. When someone animates towards\n // .. \"auto\", the end-result should be \"auto\", not \"1999px\", which would block nested\n // .. height/width changes.\n\n this.didInject = true;\n } else if (propsChanged) this.controller.update(this.props); // Flag an update that occured, componentDidUpdate will start the animation later on\n\n\n this.didUpdate = true;\n this.afterInject = undefined;\n this.injectProps = undefined;\n } // Render phase -----------------------------------------------------------\n // Render out raw values or AnimatedValues depending on \"native\"\n\n\n let values = _extends({}, this.controller.getValues(), this.afterInject);\n\n if (this.finished) values = _extends({}, values, this.props.after);\n return Object.keys(values).length ? children(values) : null;\n }\n\n componentDidUpdate() {\n // The animation has to start *after* render, since at that point the scene\n // .. graph should be established, so we do it here. Unfortunatelly, non-native\n // .. animations as well as \"auto\"-injects call forceUpdate, so it's causing a loop.\n // .. didUpdate prevents that as it gets set only on prop changes.\n if (this.didUpdate) this.start();\n this.didUpdate = false;\n }\n\n}\nSpring.defaultProps = {\n from: {},\n to: {},\n config: config.default,\n native: false,\n immediate: false,\n reset: false,\n force: false,\n inject: bugfixes\n};\n\nclass Trail extends React__default.PureComponent {\n constructor() {\n super(...arguments);\n this.first = true;\n this.instances = new Set();\n\n this.hook = (instance, index, length, reverse) => {\n // Add instance to set\n this.instances.add(instance); // Return undefined on the first index and from then on the previous instance\n\n if (reverse ? index === length - 1 : index === 0) return undefined;else return Array.from(this.instances)[reverse ? index + 1 : index - 1];\n };\n }\n\n render() {\n const _this$props = this.props,\n items = _this$props.items,\n _children = _this$props.children,\n _this$props$from = _this$props.from,\n from = _this$props$from === void 0 ? {} : _this$props$from,\n initial = _this$props.initial,\n reverse = _this$props.reverse,\n keys = _this$props.keys,\n delay = _this$props.delay,\n onRest = _this$props.onRest,\n props = _objectWithoutPropertiesLoose(_this$props, [\"items\", \"children\", \"from\", \"initial\", \"reverse\", \"keys\", \"delay\", \"onRest\"]);\n\n const array = toArray(items);\n return toArray(array).map((item, i) => React__default.createElement(Spring, _extends({\n onRest: i === 0 ? onRest : null,\n key: typeof keys === 'function' ? keys(item) : toArray(keys)[i],\n from: this.first && initial !== void 0 ? initial || {} : from\n }, props, {\n delay: i === 0 && delay || undefined,\n attach: instance => this.hook(instance, i, array.length, reverse),\n children: props => {\n const child = _children(item, i);\n\n return child ? child(props) : null;\n }\n })));\n }\n\n componentDidUpdate(prevProps) {\n this.first = false;\n if (prevProps.items !== this.props.items) this.instances.clear();\n }\n\n}\nTrail.defaultProps = {\n keys: item => item\n};\n\nconst DEFAULT = '__default';\n\nclass KeyframesImpl extends React__default.PureComponent {\n constructor() {\n var _this;\n\n super(...arguments);\n _this = this;\n this.guid = 0;\n this.state = {\n props: {},\n resolve: () => null,\n last: true,\n index: 0\n };\n\n this.next = function (props, last, index) {\n if (last === void 0) {\n last = true;\n }\n\n if (index === void 0) {\n index = 0;\n }\n\n _this.running = true;\n return new Promise(resolve => {\n _this.mounted && _this.setState(state => ({\n props,\n resolve,\n last,\n index\n }), () => _this.running = false);\n });\n };\n }\n\n componentDidMount() {\n this.mounted = true;\n this.componentDidUpdate({});\n }\n\n componentWillUnmount() {\n this.mounted = false;\n }\n\n componentDidUpdate(previous) {\n var _this2 = this;\n\n const _this$props = this.props,\n states = _this$props.states,\n f = _this$props.filter,\n state = _this$props.state;\n\n if (previous.state !== this.props.state || this.props.reset && !this.running || !shallowEqual(states[state], previous.states[previous.state])) {\n if (states && state && states[state]) {\n const localId = ++this.guid;\n const slots = states[state];\n\n if (slots) {\n if (Array.isArray(slots)) {\n let q = Promise.resolve();\n\n for (let i = 0; i < slots.length; i++) {\n let index = i;\n let slot = slots[index];\n let last = index === slots.length - 1;\n q = q.then(() => localId === this.guid && this.next(f(slot), last, index));\n }\n } else if (typeof slots === 'function') {\n let index = 0;\n slots( // next\n function (props, last) {\n if (last === void 0) {\n last = false;\n }\n\n return localId === _this2.guid && _this2.next(f(props), last, index++);\n }, // cancel\n () => requestFrame(() => this.instance && this.instance.stop()), // ownprops\n this.props);\n } else {\n this.next(f(states[state]));\n }\n }\n }\n }\n }\n\n render() {\n const _this$state = this.state,\n props = _this$state.props,\n resolve = _this$state.resolve,\n last = _this$state.last,\n index = _this$state.index;\n if (!props || Object.keys(props).length === 0) return null;\n\n let _this$props2 = this.props,\n state = _this$props2.state,\n filter = _this$props2.filter,\n states = _this$props2.states,\n config = _this$props2.config,\n Component = _this$props2.primitive,\n _onRest = _this$props2.onRest,\n forwardRef = _this$props2.forwardRef,\n rest = _objectWithoutPropertiesLoose(_this$props2, [\"state\", \"filter\", \"states\", \"config\", \"primitive\", \"onRest\", \"forwardRef\"]); // Arrayed configs need an index to process\n\n\n if (Array.isArray(config)) config = config[index];\n return React__default.createElement(Component, _extends({\n ref: _ref => this.instance = handleRef(_ref, forwardRef),\n config: config\n }, rest, props, {\n onRest: args => {\n resolve(args);\n if (_onRest && last) _onRest(args);\n }\n }));\n }\n\n}\n\nKeyframesImpl.defaultProps = {\n state: DEFAULT\n};\nconst Keyframes = React__default.forwardRef((props, ref) => React__default.createElement(KeyframesImpl, _extends({}, props, {\n forwardRef: ref\n})));\n\nKeyframes.create = primitive => function (states, filter) {\n if (filter === void 0) {\n filter = states => states;\n }\n\n if (typeof states === 'function' || Array.isArray(states)) states = {\n [DEFAULT]: states\n };\n return props => React__default.createElement(KeyframesImpl, _extends({\n primitive: primitive,\n states: states,\n filter: filter\n }, props));\n};\n\nKeyframes.Spring = states => Keyframes.create(Spring)(states, interpolateTo);\n\nKeyframes.Trail = states => Keyframes.create(Trail)(states, interpolateTo);\n\nlet guid = 0;\n\nlet get = props => {\n let items = props.items,\n keys = props.keys,\n rest = _objectWithoutPropertiesLoose(props, [\"items\", \"keys\"]);\n\n items = toArray(items !== void 0 ? items : null);\n keys = typeof keys === 'function' ? items.map(keys) : toArray(keys); // Make sure numeric keys are interpreted as Strings (5 !== \"5\")\n\n return _extends({\n items,\n keys: keys.map(key => String(key))\n }, rest);\n};\n\nclass Transition extends React__default.PureComponent {\n componentDidMount() {\n this.mounted = true;\n }\n\n componentWillUnmount() {\n this.mounted = false;\n }\n\n constructor(prevProps) {\n super(prevProps);\n\n this.destroyItem = (item, key, state) => values => {\n const _this$props = this.props,\n onRest = _this$props.onRest,\n onDestroyed = _this$props.onDestroyed;\n\n if (this.mounted) {\n onDestroyed && onDestroyed(item);\n this.setState((_ref) => {\n let deleted = _ref.deleted;\n return {\n deleted: deleted.filter(t => t.key !== key)\n };\n });\n onRest && onRest(item, state, values);\n }\n };\n\n this.state = {\n first: true,\n transitions: [],\n current: {},\n deleted: [],\n prevProps\n };\n }\n\n static getDerivedStateFromProps(props, _ref2) {\n let first = _ref2.first,\n prevProps = _ref2.prevProps,\n state = _objectWithoutPropertiesLoose(_ref2, [\"first\", \"prevProps\"]);\n\n let _get = get(props),\n items = _get.items,\n keys = _get.keys,\n initial = _get.initial,\n from = _get.from,\n enter = _get.enter,\n leave = _get.leave,\n update = _get.update,\n _get$trail = _get.trail,\n trail = _get$trail === void 0 ? 0 : _get$trail,\n unique = _get.unique,\n config = _get.config;\n\n let _get2 = get(prevProps),\n _keys = _get2.keys,\n _items = _get2.items;\n\n let current = _extends({}, state.current);\n\n let deleted = [...state.deleted]; // Compare next keys with current keys\n\n let currentKeys = Object.keys(current);\n let currentSet = new Set(currentKeys);\n let nextSet = new Set(keys);\n let added = keys.filter(item => !currentSet.has(item));\n let removed = state.transitions.filter(item => !item.destroyed && !nextSet.has(item.originalKey)).map(i => i.originalKey);\n let updated = keys.filter(item => currentSet.has(item));\n let delay = 0;\n added.forEach(key => {\n // In unique mode, remove fading out transitions if their key comes in again\n if (unique && deleted.find(d => d.originalKey === key)) deleted = deleted.filter(t => t.originalKey !== key);\n const keyIndex = keys.indexOf(key);\n const item = items[keyIndex];\n const state = 'enter';\n current[key] = {\n state,\n originalKey: key,\n key: unique ? String(key) : guid++,\n item,\n trail: delay = delay + trail,\n config: callProp(config, item, state),\n from: callProp(first ? initial !== void 0 ? initial || {} : from : from, item),\n to: callProp(enter, item)\n };\n });\n removed.forEach(key => {\n const keyIndex = _keys.indexOf(key);\n\n const item = _items[keyIndex];\n const state = 'leave';\n deleted.push(_extends({}, current[key], {\n state,\n destroyed: true,\n left: _keys[Math.max(0, keyIndex - 1)],\n right: _keys[Math.min(_keys.length, keyIndex + 1)],\n trail: delay = delay + trail,\n config: callProp(config, item, state),\n to: callProp(leave, item)\n }));\n delete current[key];\n });\n updated.forEach(key => {\n const keyIndex = keys.indexOf(key);\n const item = items[keyIndex];\n const state = 'update';\n current[key] = _extends({}, current[key], {\n item,\n state,\n trail: delay = delay + trail,\n config: callProp(config, item, state),\n to: callProp(update, item)\n });\n }); // This tries to restore order for deleted items by finding their last known siblings\n\n let out = keys.map(key => current[key]);\n deleted.forEach((_ref3) => {\n let left = _ref3.left,\n right = _ref3.right,\n transition = _objectWithoutPropertiesLoose(_ref3, [\"left\", \"right\"]);\n\n let pos; // Was it the element on the left, if yes, move there ...\n\n if ((pos = out.findIndex(t => t.originalKey === left)) !== -1) pos += 1; // Or how about the element on the right ...\n\n if (pos === -1) pos = out.findIndex(t => t.originalKey === right); // Maybe we'll find it in the list of deleted items\n\n if (pos === -1) pos = deleted.findIndex(t => t.originalKey === left); // Checking right side as well\n\n if (pos === -1) pos = deleted.findIndex(t => t.originalKey === right); // And if nothing else helps, move it to the start ¯\\_(ツ)_/¯\n\n pos = Math.max(0, pos);\n out = [...out.slice(0, pos), transition, ...out.slice(pos)];\n });\n return {\n first: first && added.length === 0,\n transitions: out,\n current,\n deleted,\n prevProps: props\n };\n }\n\n render() {\n const _this$props2 = this.props,\n initial = _this$props2.initial,\n _this$props2$from = _this$props2.from,\n _this$props2$enter = _this$props2.enter,\n _this$props2$leave = _this$props2.leave,\n _this$props2$update = _this$props2.update,\n onDestroyed = _this$props2.onDestroyed,\n keys = _this$props2.keys,\n items = _this$props2.items,\n onFrame = _this$props2.onFrame,\n onRest = _this$props2.onRest,\n onStart = _this$props2.onStart,\n trail = _this$props2.trail,\n config = _this$props2.config,\n _children = _this$props2.children,\n unique = _this$props2.unique,\n reset = _this$props2.reset,\n extra = _objectWithoutPropertiesLoose(_this$props2, [\"initial\", \"from\", \"enter\", \"leave\", \"update\", \"onDestroyed\", \"keys\", \"items\", \"onFrame\", \"onRest\", \"onStart\", \"trail\", \"config\", \"children\", \"unique\", \"reset\"]);\n\n return this.state.transitions.map((_ref4, i) => {\n let state = _ref4.state,\n key = _ref4.key,\n item = _ref4.item,\n from = _ref4.from,\n to = _ref4.to,\n trail = _ref4.trail,\n config = _ref4.config,\n destroyed = _ref4.destroyed;\n return React__default.createElement(Keyframes, _extends({\n reset: reset && state === 'enter',\n primitive: Spring,\n state: state,\n filter: interpolateTo,\n states: {\n [state]: to\n },\n key: key,\n onRest: destroyed ? this.destroyItem(item, key, state) : onRest && (values => onRest(item, state, values)),\n onStart: onStart && (() => onStart(item, state)),\n onFrame: onFrame && (values => onFrame(item, state, values)),\n delay: trail,\n config: config\n }, extra, {\n from: from,\n children: props => {\n const child = _children(item, state, i);\n\n return child ? child(props) : null;\n }\n }));\n });\n }\n\n}\nTransition.defaultProps = {\n keys: item => item,\n unique: false,\n reset: false\n};\n\nconst domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\nconst extendedAnimated = domElements.reduce((acc, element) => {\n acc[element] = createAnimatedComponent(element);\n return acc;\n}, createAnimatedComponent);\n\nexports.Spring = Spring;\nexports.Keyframes = Keyframes;\nexports.Transition = Transition;\nexports.Trail = Trail;\nexports.Controller = Controller;\nexports.config = config;\nexports.animated = extendedAnimated;\nexports.interpolate = interpolate$1;\nexports.Globals = Globals;\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\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 Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function _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 Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n\n if (isProduction) {\n throw new Error(prefix);\n } else {\n throw new Error(prefix + \": \" + (message || ''));\n }\n}\n\nexport default invariant;\n","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to) {\n var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n var toParts = to && to.split('/') || [];\n var fromParts = from && from.split('/') || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash = void 0;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) {\n fromParts.unshift('..');\n }if (mustEndAbs && fromParts[0] !== '' && (!fromParts[0] || !isAbsolute(fromParts[0]))) fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction valueEqual(a, b) {\n if (a === b) return true;\n\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return Array.isArray(b) && a.length === b.length && a.every(function (item, index) {\n return valueEqual(item, b[index]);\n });\n }\n\n var aType = typeof a === 'undefined' ? 'undefined' : _typeof(a);\n var bType = typeof b === 'undefined' ? 'undefined' : _typeof(b);\n\n if (aType !== bType) return false;\n\n if (aType === 'object') {\n var aValue = a.valueOf();\n var bValue = b.valueOf();\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n\n if (aKeys.length !== bKeys.length) return false;\n\n return aKeys.every(function (key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path);\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n var hashIndex = window.location.href.indexOf('#');\n window.location.replace(window.location.href.slice(0, hashIndex >= 0 ? hashIndex : 0) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n return '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","import createContext from 'mini-create-react-context';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'tiny-warning';\nimport { createMemoryHistory, createLocation, locationsAreEqual, createPath } from 'history';\nimport invariant from 'tiny-invariant';\nimport pathToRegexp from 'path-to-regexp';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport { isValidElementType } from 'react-is';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport hoistStatics from 'hoist-non-react-statics';\n\n// TODO: Replace with React.createContext once we can assume React 16+\n\nvar createNamedContext = function createNamedContext(name) {\n var context = createContext();\n context.displayName = name;\n return context;\n};\n\nvar context =\n/*#__PURE__*/\ncreateNamedContext(\"Router\");\n\n/**\n * The public API for putting history on context.\n */\n\nvar Router =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Router, _React$Component);\n\n Router.computeRootMatch = function computeRootMatch(pathname) {\n return {\n path: \"/\",\n url: \"/\",\n params: {},\n isExact: pathname === \"/\"\n };\n };\n\n function Router(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.state = {\n location: props.history.location\n }; // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n\n _this._isMounted = false;\n _this._pendingLocation = null;\n\n if (!props.staticContext) {\n _this.unlisten = props.history.listen(function (location) {\n if (_this._isMounted) {\n _this.setState({\n location: location\n });\n } else {\n _this._pendingLocation = location;\n }\n });\n }\n\n return _this;\n }\n\n var _proto = Router.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({\n location: this._pendingLocation\n });\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.unlisten) this.unlisten();\n };\n\n _proto.render = function render() {\n return React.createElement(context.Provider, {\n children: this.props.children || null,\n value: {\n history: this.props.history,\n location: this.state.location,\n match: Router.computeRootMatch(this.state.location.pathname),\n staticContext: this.props.staticContext\n }\n });\n };\n\n return Router;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function (prevProps) {\n process.env.NODE_ENV !== \"production\" ? warning(prevProps.history === this.props.history, \"You cannot change \") : void 0;\n };\n}\n\n/**\n * The public API for a that stores location in memory.\n */\n\nvar MemoryRouter =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(MemoryRouter, _React$Component);\n\n function MemoryRouter() {\n var _this;\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 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = createMemoryHistory(_this.props);\n return _this;\n }\n\n var _proto = MemoryRouter.prototype;\n\n _proto.render = function render() {\n return React.createElement(Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return MemoryRouter;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\") : void 0;\n };\n}\n\nvar Lifecycle =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Lifecycle, _React$Component);\n\n function Lifecycle() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Lifecycle.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n };\n\n _proto.render = function render() {\n return null;\n };\n\n return Lifecycle;\n}(React.Component);\n\n/**\n * The public API for prompting the user before navigating away from a screen.\n */\n\nfunction Prompt(_ref) {\n var message = _ref.message,\n _ref$when = _ref.when,\n when = _ref$when === void 0 ? true : _ref$when;\n return React.createElement(context.Consumer, null, function (context$$1) {\n !context$$1 ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n if (!when || context$$1.staticContext) return null;\n var method = context$$1.history.block;\n return React.createElement(Lifecycle, {\n onMount: function onMount(self) {\n self.release = method(message);\n },\n onUpdate: function onUpdate(self, prevProps) {\n if (prevProps.message !== message) {\n self.release();\n self.release = method(message);\n }\n },\n onUnmount: function onUnmount(self) {\n self.release();\n },\n message: message\n });\n });\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n var messageType = PropTypes.oneOfType([PropTypes.func, PropTypes.string]);\n Prompt.propTypes = {\n when: PropTypes.bool,\n message: messageType.isRequired\n };\n}\n\nvar cache = {};\nvar cacheLimit = 10000;\nvar cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n var generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\n\n\nfunction generatePath(path, params) {\n if (path === void 0) {\n path = \"/\";\n }\n\n if (params === void 0) {\n params = {};\n }\n\n return path === \"/\" ? path : compilePath(path)(params, {\n pretty: true\n });\n}\n\n/**\n * The public API for navigating programmatically with a component.\n */\n\nfunction Redirect(_ref) {\n var computedMatch = _ref.computedMatch,\n to = _ref.to,\n _ref$push = _ref.push,\n push = _ref$push === void 0 ? false : _ref$push;\n return React.createElement(context.Consumer, null, function (context$$1) {\n !context$$1 ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var history = context$$1.history,\n staticContext = context$$1.staticContext;\n var method = push ? history.push : history.replace;\n var location = createLocation(computedMatch ? typeof to === \"string\" ? generatePath(to, computedMatch.params) : _extends({}, to, {\n pathname: generatePath(to.pathname, computedMatch.params)\n }) : to); // When rendering in a static context,\n // set the new location immediately.\n\n if (staticContext) {\n method(location);\n return null;\n }\n\n return React.createElement(Lifecycle, {\n onMount: function onMount() {\n method(location);\n },\n onUpdate: function onUpdate(self, prevProps) {\n var prevLocation = createLocation(prevProps.to);\n\n if (!locationsAreEqual(prevLocation, _extends({}, location, {\n key: prevLocation.key\n }))) {\n method(location);\n }\n },\n to: to\n });\n });\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nvar cache$1 = {};\nvar cacheLimit$1 = 10000;\nvar cacheCount$1 = 0;\n\nfunction compilePath$1(path, options) {\n var cacheKey = \"\" + options.end + options.strict + options.sensitive;\n var pathCache = cache$1[cacheKey] || (cache$1[cacheKey] = {});\n if (pathCache[path]) return pathCache[path];\n var keys = [];\n var regexp = pathToRegexp(path, keys, options);\n var result = {\n regexp: regexp,\n keys: keys\n };\n\n if (cacheCount$1 < cacheLimit$1) {\n pathCache[path] = result;\n cacheCount$1++;\n }\n\n return result;\n}\n/**\n * Public API for matching a URL pathname to a path.\n */\n\n\nfunction matchPath(pathname, options) {\n if (options === void 0) {\n options = {};\n }\n\n if (typeof options === \"string\") options = {\n path: options\n };\n var _options = options,\n path = _options.path,\n _options$exact = _options.exact,\n exact = _options$exact === void 0 ? false : _options$exact,\n _options$strict = _options.strict,\n strict = _options$strict === void 0 ? false : _options$strict,\n _options$sensitive = _options.sensitive,\n sensitive = _options$sensitive === void 0 ? false : _options$sensitive;\n var paths = [].concat(path);\n return paths.reduce(function (matched, path) {\n if (!path) return null;\n if (matched) return matched;\n\n var _compilePath = compilePath$1(path, {\n end: exact,\n strict: strict,\n sensitive: sensitive\n }),\n regexp = _compilePath.regexp,\n keys = _compilePath.keys;\n\n var match = regexp.exec(pathname);\n if (!match) return null;\n var url = match[0],\n values = match.slice(1);\n var isExact = pathname === url;\n if (exact && !isExact) return null;\n return {\n path: path,\n // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url,\n // the matched portion of the URL\n isExact: isExact,\n // whether or not we matched exactly\n params: keys.reduce(function (memo, key, index) {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n/**\n * The public API for matching a single path and rendering.\n */\n\n\nvar Route =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Route, _React$Component);\n\n function Route() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Route.prototype;\n\n _proto.render = function render() {\n var _this = this;\n\n return React.createElement(context.Consumer, null, function (context$$1) {\n !context$$1 ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var location = _this.props.location || context$$1.location;\n var match = _this.props.computedMatch ? _this.props.computedMatch // already computed the match for us\n : _this.props.path ? matchPath(location.pathname, _this.props) : context$$1.match;\n\n var props = _extends({}, context$$1, {\n location: location,\n match: match\n });\n\n var _this$props = _this.props,\n children = _this$props.children,\n component = _this$props.component,\n render = _this$props.render; // Preact uses an empty array as children by\n // default, so use null if that's the case.\n\n if (Array.isArray(children) && children.length === 0) {\n children = null;\n }\n\n if (typeof children === \"function\") {\n children = children(props);\n\n if (children === undefined) {\n if (process.env.NODE_ENV !== \"production\") {\n var path = _this.props.path;\n process.env.NODE_ENV !== \"production\" ? warning(false, \"You returned `undefined` from the `children` function of \" + (\", but you \") + \"should have returned a React element or `null`\") : void 0;\n }\n\n children = null;\n }\n }\n\n return React.createElement(context.Provider, {\n value: props\n }, children && !isEmptyChildren(children) ? children : props.match ? component ? React.createElement(component, props) : render ? render(props) : null : null);\n });\n };\n\n return Route;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: function component(props, propName) {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\"Invalid prop 'component' supplied to 'Route': the prop is not a valid React component\");\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.component), \"You should not use and in the same route; will be ignored\") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.render), \"You should not use and in the same route; will be ignored\") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.component && this.props.render), \"You should not use and in the same route; will be ignored\") : void 0;\n };\n\n Route.prototype.componentDidUpdate = function (prevProps) {\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.location && !prevProps.location), ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(!this.props.location && prevProps.location), ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : void 0;\n };\n}\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n return _extends({}, location, {\n pathname: addLeadingSlash(basename) + location.pathname\n });\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n var base = addLeadingSlash(basename);\n if (location.pathname.indexOf(base) !== 0) return location;\n return _extends({}, location, {\n pathname: location.pathname.substr(base.length)\n });\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return function () {\n process.env.NODE_ENV !== \"production\" ? invariant(false, \"You cannot %s with \", methodName) : invariant(false);\n };\n}\n\nfunction noop() {}\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\n\n\nvar StaticRouter =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(StaticRouter, _React$Component);\n\n function StaticRouter() {\n var _this;\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 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _this.handlePush = function (location) {\n return _this.navigateTo(location, \"PUSH\");\n };\n\n _this.handleReplace = function (location) {\n return _this.navigateTo(location, \"REPLACE\");\n };\n\n _this.handleListen = function () {\n return noop;\n };\n\n _this.handleBlock = function () {\n return noop;\n };\n\n return _this;\n }\n\n var _proto = StaticRouter.prototype;\n\n _proto.navigateTo = function navigateTo(location, action) {\n var _this$props = this.props,\n _this$props$basename = _this$props.basename,\n basename = _this$props$basename === void 0 ? \"\" : _this$props$basename,\n _this$props$context = _this$props.context,\n context = _this$props$context === void 0 ? {} : _this$props$context;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n };\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n _this$props2$basename = _this$props2.basename,\n basename = _this$props2$basename === void 0 ? \"\" : _this$props2$basename,\n _this$props2$context = _this$props2.context,\n context = _this$props2$context === void 0 ? {} : _this$props2$context,\n _this$props2$location = _this$props2.location,\n location = _this$props2$location === void 0 ? \"/\" : _this$props2$location,\n rest = _objectWithoutPropertiesLoose(_this$props2, [\"basename\", \"context\", \"location\"]);\n\n var history = {\n createHref: function createHref(path) {\n return addLeadingSlash(basename + createURL(path));\n },\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n return React.createElement(Router, _extends({}, rest, {\n history: history,\n staticContext: context\n }));\n };\n\n return StaticRouter;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { StaticRouter as Router }`.\") : void 0;\n };\n}\n\n/**\n * The public API for rendering the first that matches.\n */\n\nvar Switch =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Switch, _React$Component);\n\n function Switch() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Switch.prototype;\n\n _proto.render = function render() {\n var _this = this;\n\n return React.createElement(context.Consumer, null, function (context$$1) {\n !context$$1 ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var location = _this.props.location || context$$1.location;\n var element, match; // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n\n React.Children.forEach(_this.props.children, function (child) {\n if (match == null && React.isValidElement(child)) {\n element = child;\n var path = child.props.path || child.props.from;\n match = path ? matchPath(location.pathname, _extends({}, child.props, {\n path: path\n })) : context$$1.match;\n }\n });\n return match ? React.cloneElement(element, {\n location: location,\n computedMatch: match\n }) : null;\n });\n };\n\n return Switch;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function (prevProps) {\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.location && !prevProps.location), ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(!this.props.location && prevProps.location), ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : void 0;\n };\n}\n\n/**\n * A public higher-order component to access the imperative API\n */\n\nfunction withRouter(Component) {\n var displayName = \"withRouter(\" + (Component.displayName || Component.name) + \")\";\n\n var C = function C(props) {\n var wrappedComponentRef = props.wrappedComponentRef,\n remainingProps = _objectWithoutPropertiesLoose(props, [\"wrappedComponentRef\"]);\n\n return React.createElement(context.Consumer, null, function (context$$1) {\n !context$$1 ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use <\" + displayName + \" /> outside a \") : invariant(false) : void 0;\n return React.createElement(Component, _extends({}, remainingProps, context$$1, {\n ref: wrappedComponentRef\n }));\n });\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (process.env.NODE_ENV !== \"production\") {\n C.propTypes = {\n wrappedComponentRef: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.object])\n };\n }\n\n return hoistStatics(C, Component);\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n if (typeof window !== \"undefined\") {\n var global = window;\n var key = \"__react_router_build__\";\n var buildNames = {\n cjs: \"CommonJS\",\n esm: \"ES modules\",\n umd: \"UMD\"\n };\n\n if (global[key] && global[key] !== \"esm\") {\n var initialBuildName = buildNames[global[key]];\n var secondaryBuildName = buildNames[\"esm\"]; // TODO: Add link to article that explains in detail how to avoid\n // loading 2 different builds.\n\n throw new Error(\"You are loading the \" + secondaryBuildName + \" build of React Router \" + (\"on a page that is already running the \" + initialBuildName + \" \") + \"build, so things won't work right.\");\n }\n\n global[key] = \"esm\";\n }\n}\n\nexport { MemoryRouter, Prompt, Redirect, Route, Router, StaticRouter, Switch, generatePath, matchPath, withRouter, context as __RouterContext };\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","'use strict';\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar ReactIs = require('react-is');\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\n\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\n\nvar TYPE_STATICS = {};\nTYPE_STATICS[ReactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nfunction getStatics(component) {\n if (ReactIs.isMemo(component)) {\n return MEMO_STATICS;\n }\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = exports.slidesOnLeft = exports.slidesOnRight = exports.siblingDirection = exports.getTotalSlides = exports.getPostClones = exports.getPreClones = exports.getTrackLeft = exports.getTrackAnimateCSS = exports.getTrackCSS = exports.checkSpecKeys = exports.getSlideCount = exports.checkNavigable = exports.getNavigableIndexes = exports.swipeEnd = exports.swipeMove = exports.swipeStart = exports.keyHandler = exports.changeSlide = exports.slideHandler = exports.initializedState = exports.extractObject = exports.canGoNext = exports.getSwipeDirection = exports.getHeight = exports.getWidth = exports.lazySlidesOnRight = exports.lazySlidesOnLeft = exports.lazyEndIndex = exports.lazyStartIndex = exports.getRequiredLazySlides = exports.getOnDemandLazySlides = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar getOnDemandLazySlides = function getOnDemandLazySlides(spec) {\n var onDemandSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n\n return onDemandSlides;\n}; // return list of slides that need to be present\n\n\nexports.getOnDemandLazySlides = getOnDemandLazySlides;\n\nvar getRequiredLazySlides = function getRequiredLazySlides(spec) {\n var requiredSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n\n return requiredSlides;\n}; // startIndex that needs to be present\n\n\nexports.getRequiredLazySlides = getRequiredLazySlides;\n\nvar lazyStartIndex = function lazyStartIndex(spec) {\n return spec.currentSlide - lazySlidesOnLeft(spec);\n};\n\nexports.lazyStartIndex = lazyStartIndex;\n\nvar lazyEndIndex = function lazyEndIndex(spec) {\n return spec.currentSlide + lazySlidesOnRight(spec);\n};\n\nexports.lazyEndIndex = lazyEndIndex;\n\nvar lazySlidesOnLeft = function lazySlidesOnLeft(spec) {\n return spec.centerMode ? Math.floor(spec.slidesToShow / 2) + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : 0;\n};\n\nexports.lazySlidesOnLeft = lazySlidesOnLeft;\n\nvar lazySlidesOnRight = function lazySlidesOnRight(spec) {\n return spec.centerMode ? Math.floor((spec.slidesToShow - 1) / 2) + 1 + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : spec.slidesToShow;\n}; // get width of an element\n\n\nexports.lazySlidesOnRight = lazySlidesOnRight;\n\nvar getWidth = function getWidth(elem) {\n return elem && elem.offsetWidth || 0;\n};\n\nexports.getWidth = getWidth;\n\nvar getHeight = function getHeight(elem) {\n return elem && elem.offsetHeight || 0;\n};\n\nexports.getHeight = getHeight;\n\nvar getSwipeDirection = function getSwipeDirection(touchObject) {\n var verticalSwiping = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var xDist, yDist, r, swipeAngle;\n xDist = touchObject.startX - touchObject.curX;\n yDist = touchObject.startY - touchObject.curY;\n r = Math.atan2(yDist, xDist);\n swipeAngle = Math.round(r * 180 / Math.PI);\n\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n\n if (swipeAngle <= 45 && swipeAngle >= 0 || swipeAngle <= 360 && swipeAngle >= 315) {\n return \"left\";\n }\n\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return \"right\";\n }\n\n if (verticalSwiping === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return \"up\";\n } else {\n return \"down\";\n }\n }\n\n return \"vertical\";\n}; // whether or not we can go next\n\n\nexports.getSwipeDirection = getSwipeDirection;\n\nvar canGoNext = function canGoNext(spec) {\n var canGo = true;\n\n if (!spec.infinite) {\n if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n canGo = false;\n } else if (spec.slideCount <= spec.slidesToShow || spec.currentSlide >= spec.slideCount - spec.slidesToShow) {\n canGo = false;\n }\n }\n\n return canGo;\n}; // given an object and a list of keys, return new object with given keys\n\n\nexports.canGoNext = canGoNext;\n\nvar extractObject = function extractObject(spec, keys) {\n var newObject = {};\n keys.forEach(function (key) {\n return newObject[key] = spec[key];\n });\n return newObject;\n}; // get initialized state\n\n\nexports.extractObject = extractObject;\n\nvar initializedState = function initializedState(spec) {\n // spec also contains listRef, trackRef\n var slideCount = _react[\"default\"].Children.count(spec.children);\n\n var listWidth = Math.ceil(getWidth(_reactDom[\"default\"].findDOMNode(spec.listRef)));\n var trackWidth = Math.ceil(getWidth(_reactDom[\"default\"].findDOMNode(spec.trackRef)));\n var slideWidth;\n\n if (!spec.vertical) {\n var centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n\n if (typeof spec.centerPadding === \"string\" && spec.centerPadding.slice(-1) === \"%\") {\n centerPaddingAdj *= listWidth / 100;\n }\n\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\n\n var slideHeight = _reactDom[\"default\"].findDOMNode(spec.listRef) && getHeight(_reactDom[\"default\"].findDOMNode(spec.listRef).querySelector('[data-index=\"0\"]'));\n var listHeight = slideHeight * spec.slidesToShow;\n var currentSlide = spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\n\n var lazyLoadedList = spec.lazyLoadedList || [];\n var slidesToLoad = getOnDemandLazySlides({\n currentSlide: currentSlide,\n lazyLoadedList: lazyLoadedList\n }, spec);\n lazyLoadedList.concat(slidesToLoad);\n var state = {\n slideCount: slideCount,\n slideWidth: slideWidth,\n listWidth: listWidth,\n trackWidth: trackWidth,\n currentSlide: currentSlide,\n slideHeight: slideHeight,\n listHeight: listHeight,\n lazyLoadedList: lazyLoadedList\n };\n\n if (spec.autoplaying === null && spec.autoplay) {\n state[\"autoplaying\"] = \"playing\";\n }\n\n return state;\n};\n\nexports.initializedState = initializedState;\n\nvar slideHandler = function slideHandler(spec) {\n var waitForAnimate = spec.waitForAnimate,\n animating = spec.animating,\n fade = spec.fade,\n infinite = spec.infinite,\n index = spec.index,\n slideCount = spec.slideCount,\n lazyLoadedList = spec.lazyLoadedList,\n lazyLoad = spec.lazyLoad,\n currentSlide = spec.currentSlide,\n centerMode = spec.centerMode,\n slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n useCSS = spec.useCSS;\n if (waitForAnimate && animating) return {};\n var animationSlide = index,\n finalSlide,\n animationLeft,\n finalLeft;\n var state = {},\n nextState = {};\n\n if (fade) {\n if (!infinite && (index < 0 || index >= slideCount)) return {};\n\n if (index < 0) {\n animationSlide = index + slideCount;\n } else if (index >= slideCount) {\n animationSlide = index - slideCount;\n }\n\n if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n lazyLoadedList.push(animationSlide);\n }\n\n state = {\n animating: true,\n currentSlide: animationSlide,\n lazyLoadedList: lazyLoadedList\n };\n nextState = {\n animating: false\n };\n } else {\n finalSlide = animationSlide;\n\n if (animationSlide < 0) {\n finalSlide = animationSlide + slideCount;\n if (!infinite) finalSlide = 0;else if (slideCount % slidesToScroll !== 0) finalSlide = slideCount - slideCount % slidesToScroll;\n } else if (!canGoNext(spec) && animationSlide > currentSlide) {\n animationSlide = finalSlide = currentSlide;\n } else if (centerMode && animationSlide >= slideCount) {\n animationSlide = infinite ? slideCount : slideCount - 1;\n finalSlide = infinite ? 0 : slideCount - 1;\n } else if (animationSlide >= slideCount) {\n finalSlide = animationSlide - slideCount;\n if (!infinite) finalSlide = slideCount - slidesToShow;else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n }\n\n animationLeft = getTrackLeft(_objectSpread({}, spec, {\n slideIndex: animationSlide\n }));\n finalLeft = getTrackLeft(_objectSpread({}, spec, {\n slideIndex: finalSlide\n }));\n\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n\n lazyLoad && lazyLoadedList.concat(getOnDemandLazySlides(_objectSpread({}, spec, {\n currentSlide: animationSlide\n })));\n\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_objectSpread({}, spec, {\n left: finalLeft\n })),\n lazyLoadedList: lazyLoadedList\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS(_objectSpread({}, spec, {\n left: animationLeft\n })),\n lazyLoadedList: lazyLoadedList\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_objectSpread({}, spec, {\n left: finalLeft\n })),\n swipeLeft: null\n };\n }\n }\n\n return {\n state: state,\n nextState: nextState\n };\n};\n\nexports.slideHandler = slideHandler;\n\nvar changeSlide = function changeSlide(spec, options) {\n var indexOffset, previousInt, slideOffset, unevenOffset, targetSlide;\n var slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n slideCount = spec.slideCount,\n currentSlide = spec.currentSlide,\n lazyLoad = spec.lazyLoad,\n infinite = spec.infinite;\n unevenOffset = slideCount % slidesToScroll !== 0;\n indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n\n if (options.message === \"previous\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n targetSlide = currentSlide - slideOffset;\n\n if (lazyLoad && !infinite) {\n previousInt = currentSlide - slideOffset;\n targetSlide = previousInt === -1 ? slideCount - 1 : previousInt;\n }\n } else if (options.message === \"next\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n targetSlide = currentSlide + slideOffset;\n\n if (lazyLoad && !infinite) {\n targetSlide = (currentSlide + slidesToScroll) % slideCount + indexOffset;\n }\n } else if (options.message === \"dots\") {\n // Click on dots\n targetSlide = options.index * options.slidesToScroll;\n\n if (targetSlide === options.currentSlide) {\n return null;\n }\n } else if (options.message === \"children\") {\n // Click on the slides\n targetSlide = options.index;\n\n if (targetSlide === options.currentSlide) {\n return null;\n }\n\n if (infinite) {\n var direction = siblingDirection(_objectSpread({}, spec, {\n targetSlide: targetSlide\n }));\n\n if (targetSlide > options.currentSlide && direction === \"left\") {\n targetSlide = targetSlide - slideCount;\n } else if (targetSlide < options.currentSlide && direction === \"right\") {\n targetSlide = targetSlide + slideCount;\n }\n }\n } else if (options.message === \"index\") {\n targetSlide = Number(options.index);\n\n if (targetSlide === options.currentSlide) {\n return null;\n }\n }\n\n return targetSlide;\n};\n\nexports.changeSlide = changeSlide;\n\nvar keyHandler = function keyHandler(e, accessibility, rtl) {\n if (e.target.tagName.match(\"TEXTAREA|INPUT|SELECT\") || !accessibility) return \"\";\n if (e.keyCode === 37) return rtl ? \"next\" : \"previous\";\n if (e.keyCode === 39) return rtl ? \"previous\" : \"next\";\n return \"\";\n};\n\nexports.keyHandler = keyHandler;\n\nvar swipeStart = function swipeStart(e, swipe, draggable) {\n e.target.tagName === \"IMG\" && e.preventDefault();\n if (!swipe || !draggable && e.type.indexOf(\"mouse\") !== -1) return \"\";\n return {\n dragging: true,\n touchObject: {\n startX: e.touches ? e.touches[0].pageX : e.clientX,\n startY: e.touches ? e.touches[0].pageY : e.clientY,\n curX: e.touches ? e.touches[0].pageX : e.clientX,\n curY: e.touches ? e.touches[0].pageY : e.clientY\n }\n };\n};\n\nexports.swipeStart = swipeStart;\n\nvar swipeMove = function swipeMove(e, spec) {\n // spec also contains, trackRef and slideIndex\n var scrolling = spec.scrolling,\n animating = spec.animating,\n vertical = spec.vertical,\n swipeToSlide = spec.swipeToSlide,\n verticalSwiping = spec.verticalSwiping,\n rtl = spec.rtl,\n currentSlide = spec.currentSlide,\n edgeFriction = spec.edgeFriction,\n edgeDragged = spec.edgeDragged,\n onEdge = spec.onEdge,\n swiped = spec.swiped,\n swiping = spec.swiping,\n slideCount = spec.slideCount,\n slidesToScroll = spec.slidesToScroll,\n infinite = spec.infinite,\n touchObject = spec.touchObject,\n swipeEvent = spec.swipeEvent,\n listHeight = spec.listHeight,\n listWidth = spec.listWidth;\n if (scrolling) return;\n if (animating) return e.preventDefault();\n if (vertical && swipeToSlide && verticalSwiping) e.preventDefault();\n var swipeLeft,\n state = {};\n var curLeft = getTrackLeft(spec);\n touchObject.curX = e.touches ? e.touches[0].pageX : e.clientX;\n touchObject.curY = e.touches ? e.touches[0].pageY : e.clientY;\n touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2)));\n var verticalSwipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2)));\n\n if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return {\n scrolling: true\n };\n }\n\n if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n var positionOffset = (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n if (verticalSwiping) positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n var dotCount = Math.ceil(slideCount / slidesToScroll);\n var swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n var touchSwipeLength = touchObject.swipeLength;\n\n if (!infinite) {\n if (currentSlide === 0 && swipeDirection === \"right\" || currentSlide + 1 >= dotCount && swipeDirection === \"left\" || !canGoNext(spec) && swipeDirection === \"left\") {\n touchSwipeLength = touchObject.swipeLength * edgeFriction;\n\n if (edgeDragged === false && onEdge) {\n onEdge(swipeDirection);\n state[\"edgeDragged\"] = true;\n }\n }\n }\n\n if (!swiped && swipeEvent) {\n swipeEvent(swipeDirection);\n state[\"swiped\"] = true;\n }\n\n if (!vertical) {\n if (!rtl) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n } else {\n swipeLeft = curLeft - touchSwipeLength * positionOffset;\n }\n } else {\n swipeLeft = curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset;\n }\n\n if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n\n state = _objectSpread({}, state, {\n touchObject: touchObject,\n swipeLeft: swipeLeft,\n trackStyle: getTrackCSS(_objectSpread({}, spec, {\n left: swipeLeft\n }))\n });\n\n if (Math.abs(touchObject.curX - touchObject.startX) < Math.abs(touchObject.curY - touchObject.startY) * 0.8) {\n return state;\n }\n\n if (touchObject.swipeLength > 10) {\n state[\"swiping\"] = true;\n e.preventDefault();\n }\n\n return state;\n};\n\nexports.swipeMove = swipeMove;\n\nvar swipeEnd = function swipeEnd(e, spec) {\n var dragging = spec.dragging,\n swipe = spec.swipe,\n touchObject = spec.touchObject,\n listWidth = spec.listWidth,\n touchThreshold = spec.touchThreshold,\n verticalSwiping = spec.verticalSwiping,\n listHeight = spec.listHeight,\n currentSlide = spec.currentSlide,\n swipeToSlide = spec.swipeToSlide,\n scrolling = spec.scrolling,\n onSwipe = spec.onSwipe;\n\n if (!dragging) {\n if (swipe) e.preventDefault();\n return {};\n }\n\n var minSwipe = verticalSwiping ? listHeight / touchThreshold : listWidth / touchThreshold;\n var swipeDirection = getSwipeDirection(touchObject, verticalSwiping); // reset the state of touch related state variables.\n\n var state = {\n dragging: false,\n edgeDragged: false,\n scrolling: false,\n swiping: false,\n swiped: false,\n swipeLeft: null,\n touchObject: {}\n };\n\n if (scrolling) {\n return state;\n }\n\n if (!touchObject.swipeLength) {\n return state;\n }\n\n if (touchObject.swipeLength > minSwipe) {\n e.preventDefault();\n\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n\n var slideCount, newSlide;\n\n switch (swipeDirection) {\n case \"left\":\n case \"up\":\n newSlide = currentSlide + getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 0;\n break;\n\n case \"right\":\n case \"down\":\n newSlide = currentSlide - getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 1;\n break;\n\n default:\n slideCount = currentSlide;\n }\n\n state[\"triggerSlideHandler\"] = slideCount;\n } else {\n // Adjust the track back to it's original position.\n var currentLeft = getTrackLeft(spec);\n state[\"trackStyle\"] = getTrackAnimateCSS(_objectSpread({}, spec, {\n left: currentLeft\n }));\n }\n\n return state;\n};\n\nexports.swipeEnd = swipeEnd;\n\nvar getNavigableIndexes = function getNavigableIndexes(spec) {\n var max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n var breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n var counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n var indexes = [];\n\n while (breakpoint < max) {\n indexes.push(breakpoint);\n breakpoint = counter + spec.slidesToScroll;\n counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n }\n\n return indexes;\n};\n\nexports.getNavigableIndexes = getNavigableIndexes;\n\nvar checkNavigable = function checkNavigable(spec, index) {\n var navigables = getNavigableIndexes(spec);\n var prevNavigable = 0;\n\n if (index > navigables[navigables.length - 1]) {\n index = navigables[navigables.length - 1];\n } else {\n for (var n in navigables) {\n if (index < navigables[n]) {\n index = prevNavigable;\n break;\n }\n\n prevNavigable = navigables[n];\n }\n }\n\n return index;\n};\n\nexports.checkNavigable = checkNavigable;\n\nvar getSlideCount = function getSlideCount(spec) {\n var centerOffset = spec.centerMode ? spec.slideWidth * Math.floor(spec.slidesToShow / 2) : 0;\n\n if (spec.swipeToSlide) {\n var swipedSlide;\n\n var slickList = _reactDom[\"default\"].findDOMNode(spec.listRef);\n\n var slides = slickList.querySelectorAll(\".slick-slide\");\n Array.from(slides).every(function (slide) {\n if (!spec.vertical) {\n if (slide.offsetLeft - centerOffset + getWidth(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n } else {\n if (slide.offsetTop + getHeight(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n }\n\n return true;\n });\n\n if (!swipedSlide) {\n return 0;\n }\n\n var currentIndex = spec.rtl === true ? spec.slideCount - spec.currentSlide : spec.currentSlide;\n var slidesTraversed = Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n return slidesTraversed;\n } else {\n return spec.slidesToScroll;\n }\n};\n\nexports.getSlideCount = getSlideCount;\n\nvar checkSpecKeys = function checkSpecKeys(spec, keysArray) {\n return keysArray.reduce(function (value, key) {\n return value && spec.hasOwnProperty(key);\n }, true) ? null : console.error(\"Keys Missing:\", spec);\n};\n\nexports.checkSpecKeys = checkSpecKeys;\n\nvar getTrackCSS = function getTrackCSS(spec) {\n checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\"]);\n var trackWidth, trackHeight;\n var trackChildren = spec.slideCount + 2 * spec.slidesToShow;\n\n if (!spec.vertical) {\n trackWidth = getTotalSlides(spec) * spec.slideWidth;\n } else {\n trackHeight = trackChildren * spec.slideHeight;\n }\n\n var style = {\n opacity: 1,\n transition: \"\",\n WebkitTransition: \"\"\n };\n\n if (spec.useTransform) {\n var WebkitTransform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n var transform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n var msTransform = !spec.vertical ? \"translateX(\" + spec.left + \"px)\" : \"translateY(\" + spec.left + \"px)\";\n style = _objectSpread({}, style, {\n WebkitTransform: WebkitTransform,\n transform: transform,\n msTransform: msTransform\n });\n } else {\n if (spec.vertical) {\n style[\"top\"] = spec.left;\n } else {\n style[\"left\"] = spec.left;\n }\n }\n\n if (spec.fade) style = {\n opacity: 1\n };\n if (trackWidth) style.width = trackWidth;\n if (trackHeight) style.height = trackHeight; // Fallback for IE8\n\n if (window && !window.addEventListener && window.attachEvent) {\n if (!spec.vertical) {\n style.marginLeft = spec.left + \"px\";\n } else {\n style.marginTop = spec.left + \"px\";\n }\n }\n\n return style;\n};\n\nexports.getTrackCSS = getTrackCSS;\n\nvar getTrackAnimateCSS = function getTrackAnimateCSS(spec) {\n checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\", \"speed\", \"cssEase\"]);\n var style = getTrackCSS(spec); // useCSS is true by default so it can be undefined\n\n if (spec.useTransform) {\n style.WebkitTransition = \"-webkit-transform \" + spec.speed + \"ms \" + spec.cssEase;\n style.transition = \"transform \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n if (spec.vertical) {\n style.transition = \"top \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n style.transition = \"left \" + spec.speed + \"ms \" + spec.cssEase;\n }\n }\n\n return style;\n};\n\nexports.getTrackAnimateCSS = getTrackAnimateCSS;\n\nvar getTrackLeft = function getTrackLeft(spec) {\n if (spec.unslick) {\n return 0;\n }\n\n checkSpecKeys(spec, [\"slideIndex\", \"trackRef\", \"infinite\", \"centerMode\", \"slideCount\", \"slidesToShow\", \"slidesToScroll\", \"slideWidth\", \"listWidth\", \"variableWidth\", \"slideHeight\"]);\n var slideIndex = spec.slideIndex,\n trackRef = spec.trackRef,\n infinite = spec.infinite,\n centerMode = spec.centerMode,\n slideCount = spec.slideCount,\n slidesToShow = spec.slidesToShow,\n slidesToScroll = spec.slidesToScroll,\n slideWidth = spec.slideWidth,\n listWidth = spec.listWidth,\n variableWidth = spec.variableWidth,\n slideHeight = spec.slideHeight,\n fade = spec.fade,\n vertical = spec.vertical;\n var slideOffset = 0;\n var targetLeft;\n var targetSlide;\n var verticalOffset = 0;\n\n if (fade || spec.slideCount === 1) {\n return 0;\n }\n\n var slidesToOffset = 0;\n\n if (infinite) {\n slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area\n // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children\n\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = -(slideIndex > slideCount ? slidesToShow - (slideIndex - slideCount) : slideCount % slidesToScroll);\n } // shift current slide to center of the frame\n\n\n if (centerMode) {\n slidesToOffset += parseInt(slidesToShow / 2);\n }\n } else {\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = slidesToShow - slideCount % slidesToScroll;\n }\n\n if (centerMode) {\n slidesToOffset = parseInt(slidesToShow / 2);\n }\n }\n\n slideOffset = slidesToOffset * slideWidth;\n verticalOffset = slidesToOffset * slideHeight;\n\n if (!vertical) {\n targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n } else {\n targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n }\n\n if (variableWidth === true) {\n var targetSlideIndex;\n\n var trackElem = _reactDom[\"default\"].findDOMNode(trackRef);\n\n targetSlideIndex = slideIndex + getPreClones(spec);\n targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n\n if (centerMode === true) {\n targetSlideIndex = infinite ? slideIndex + getPreClones(spec) : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n\n for (var slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -= trackElem && trackElem.children[slide] && trackElem.children[slide].offsetWidth;\n }\n\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n\n return targetLeft;\n};\n\nexports.getTrackLeft = getTrackLeft;\n\nvar getPreClones = function getPreClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n\n if (spec.variableWidth) {\n return spec.slideCount;\n }\n\n return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\n\nexports.getPreClones = getPreClones;\n\nvar getPostClones = function getPostClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n\n return spec.slideCount;\n};\n\nexports.getPostClones = getPostClones;\n\nvar getTotalSlides = function getTotalSlides(spec) {\n return spec.slideCount === 1 ? 1 : getPreClones(spec) + spec.slideCount + getPostClones(spec);\n};\n\nexports.getTotalSlides = getTotalSlides;\n\nvar siblingDirection = function siblingDirection(spec) {\n if (spec.targetSlide > spec.currentSlide) {\n if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n return \"left\";\n }\n\n return \"right\";\n } else {\n if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n return \"right\";\n }\n\n return \"left\";\n }\n};\n\nexports.siblingDirection = siblingDirection;\n\nvar slidesOnRight = function slidesOnRight(_ref) {\n var slidesToShow = _ref.slidesToShow,\n centerMode = _ref.centerMode,\n rtl = _ref.rtl,\n centerPadding = _ref.centerPadding;\n\n // returns no of slides on the right of active slide\n if (centerMode) {\n var right = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) right += 1;\n if (rtl && slidesToShow % 2 === 0) right += 1;\n return right;\n }\n\n if (rtl) {\n return 0;\n }\n\n return slidesToShow - 1;\n};\n\nexports.slidesOnRight = slidesOnRight;\n\nvar slidesOnLeft = function slidesOnLeft(_ref2) {\n var slidesToShow = _ref2.slidesToShow,\n centerMode = _ref2.centerMode,\n rtl = _ref2.rtl,\n centerPadding = _ref2.centerPadding;\n\n // returns no of slides on the left of active slide\n if (centerMode) {\n var left = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) left += 1;\n if (!rtl && slidesToShow % 2 === 0) left += 1;\n return left;\n }\n\n if (rtl) {\n return slidesToShow - 1;\n }\n\n return 0;\n};\n\nexports.slidesOnLeft = slidesOnLeft;\n\nvar canUseDOM = function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n};\n\nexports.canUseDOM = canUseDOM;","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","// @flow\n\ndeclare var SC_DISABLE_SPEEDY: ?boolean;\ndeclare var __VERSION__: string;\n\nexport const SC_ATTR =\n (typeof process !== 'undefined' && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR)) ||\n 'data-styled';\n\nexport const SC_ATTR_ACTIVE = 'active';\nexport const SC_ATTR_VERSION = 'data-styled-version';\nexport const SC_VERSION = __VERSION__;\n\nexport const IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;\n\nexport const DISABLE_SPEEDY =\n (typeof SC_DISABLE_SPEEDY === 'boolean' && SC_DISABLE_SPEEDY) ||\n (typeof process !== 'undefined' &&\n (process.env.REACT_APP_SC_DISABLE_SPEEDY || process.env.SC_DISABLE_SPEEDY)) ||\n process.env.NODE_ENV !== 'production';\n\n// Shared empty execution context when generating static styles\nexport const STATIC_EXECUTION_CONTEXT = {};\n","// @flow\n/* eslint-disable no-use-before-define */\n\nimport { makeStyleTag, getSheet } from './dom';\nimport type { SheetOptions, Tag } from './types';\n\n/** Create a CSSStyleSheet-like tag depending on the environment */\nexport const makeTag = ({ isServer, useCSSOMInjection, target }: SheetOptions): Tag => {\n if (isServer) {\n return new VirtualTag(target);\n } else if (useCSSOMInjection) {\n return new CSSOMTag(target);\n } else {\n return new TextTag(target);\n }\n};\n\nexport class CSSOMTag implements Tag {\n element: HTMLStyleElement;\n\n sheet: CSSStyleSheet;\n\n length: number;\n\n constructor(target?: HTMLElement) {\n const element = (this.element = makeStyleTag(target));\n\n // Avoid Edge bug where empty style elements don't create sheets\n element.appendChild(document.createTextNode(''));\n\n this.sheet = getSheet(element);\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n try {\n this.sheet.insertRule(rule, index);\n this.length++;\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.sheet.deleteRule(index);\n this.length--;\n }\n\n getRule(index: number): string {\n const rule = this.sheet.cssRules[index];\n // Avoid IE11 quirk where cssText is inaccessible on some invalid rules\n if (rule !== undefined && typeof rule.cssText === 'string') {\n return rule.cssText;\n } else {\n return '';\n }\n }\n}\n\n/** A Tag that emulates the CSSStyleSheet API but uses text nodes */\nexport class TextTag implements Tag {\n element: HTMLStyleElement;\n\n nodes: NodeList;\n\n length: number;\n\n constructor(target?: HTMLElement) {\n const element = (this.element = makeStyleTag(target));\n this.nodes = element.childNodes;\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n if (index <= this.length && index >= 0) {\n const node = document.createTextNode(rule);\n const refNode = this.nodes[index];\n this.element.insertBefore(node, refNode || null);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.element.removeChild(this.nodes[index]);\n this.length--;\n }\n\n getRule(index: number): string {\n if (index < this.length) {\n return this.nodes[index].textContent;\n } else {\n return '';\n }\n }\n}\n\n/** A completely virtual (server-side) Tag that doesn't manipulate the DOM */\nexport class VirtualTag implements Tag {\n rules: string[];\n\n length: number;\n\n constructor(_target?: HTMLElement) {\n this.rules = [];\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n if (index <= this.length) {\n this.rules.splice(index, 0, rule);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.rules.splice(index, 1);\n this.length--;\n }\n\n getRule(index: number): string {\n if (index < this.length) {\n return this.rules[index];\n } else {\n return '';\n }\n }\n}\n","// @flow\n/* eslint-disable no-use-before-define */\n\nimport type { GroupedTag, Tag } from './types';\n\n/** Create a GroupedTag with an underlying Tag implementation */\nexport const makeGroupedTag = (tag: Tag): GroupedTag => {\n return new DefaultGroupedTag(tag);\n};\n\nconst BASE_SIZE = 1 << 8;\n\nclass DefaultGroupedTag implements GroupedTag {\n groupSizes: Uint32Array;\n\n length: number;\n\n tag: Tag;\n\n constructor(tag: Tag) {\n this.groupSizes = new Uint32Array(BASE_SIZE);\n this.length = BASE_SIZE;\n this.tag = tag;\n }\n\n indexOfGroup(group: number): number {\n let index = 0;\n for (let i = 0; i < group; i++) {\n index += this.groupSizes[i];\n }\n\n return index;\n }\n\n insertRules(group: number, rules: string[]): void {\n if (group >= this.groupSizes.length) {\n const oldBuffer = this.groupSizes;\n const oldSize = oldBuffer.length;\n const newSize = BASE_SIZE << ((group / BASE_SIZE) | 0);\n\n this.groupSizes = new Uint32Array(newSize);\n this.groupSizes.set(oldBuffer);\n this.length = newSize;\n\n for (let i = oldSize; i < newSize; i++) {\n this.groupSizes[i] = 0;\n }\n }\n\n let ruleIndex = this.indexOfGroup(group + 1);\n for (let i = 0, l = rules.length; i < l; i++) {\n if (this.tag.insertRule(ruleIndex, rules[i])) {\n this.groupSizes[group]++;\n ruleIndex++;\n }\n }\n }\n\n clearGroup(group: number): void {\n if (group < this.length) {\n const length = this.groupSizes[group];\n const startIndex = this.indexOfGroup(group);\n const endIndex = startIndex + length;\n\n this.groupSizes[group] = 0;\n\n for (let i = startIndex; i < endIndex; i++) {\n this.tag.deleteRule(startIndex);\n }\n }\n }\n\n getGroup(group: number): string {\n let css = '';\n if (group >= this.length || this.groupSizes[group] === 0) {\n return css;\n }\n\n const length = this.groupSizes[group];\n const startIndex = this.indexOfGroup(group);\n const endIndex = startIndex + length;\n\n for (let i = startIndex; i < endIndex; i++) {\n css += `${this.tag.getRule(i)}\\n`;\n }\n\n return css;\n }\n}\n","// @flow\n\nlet groupIDRegister: Map = new Map();\nlet reverseRegister: Map = new Map();\nlet nextFreeGroup = 1;\n\nexport const resetGroupIds = () => {\n groupIDRegister = new Map();\n reverseRegister = new Map();\n nextFreeGroup = 1;\n};\n\nexport const getGroupForId = (id: string): number => {\n if (groupIDRegister.has(id)) {\n return (groupIDRegister.get(id): any);\n }\n\n const group = nextFreeGroup++;\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n return group;\n};\n\nexport const getIdForGroup = (group: number): void | string => {\n return reverseRegister.get(group);\n};\n\nexport const setGroupForId = (id: string, group: number) => {\n if (group >= nextFreeGroup) {\n nextFreeGroup = group + 1;\n }\n\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n};\n","// @flow\nimport { DISABLE_SPEEDY, IS_BROWSER } from '../constants';\nimport type { GroupedTag, Sheet, SheetOptions } from './types';\nimport { makeTag } from './Tag';\nimport { makeGroupedTag } from './GroupedTag';\nimport { getGroupForId } from './GroupIDAllocator';\nimport { outputSheet, rehydrateSheet } from './Rehydration';\n\nlet SHOULD_REHYDRATE = IS_BROWSER;\n\ntype SheetConstructorArgs = {\n isServer?: boolean,\n useCSSOMInjection?: boolean,\n target?: HTMLElement,\n};\n\ntype GlobalStylesAllocationMap = { [key: string]: number };\ntype NamesAllocationMap = Map>;\n\nconst defaultOptions = {\n isServer: !IS_BROWSER,\n useCSSOMInjection: !DISABLE_SPEEDY,\n};\n\n/** Contains the main stylesheet logic for stringification and caching */\nexport default class StyleSheet implements Sheet {\n gs: GlobalStylesAllocationMap;\n\n names: NamesAllocationMap;\n\n options: SheetOptions;\n\n tag: void | GroupedTag;\n\n /** Register a group ID to give it an index */\n static registerId(id: string): number {\n return getGroupForId(id);\n }\n\n constructor(\n options: SheetConstructorArgs = defaultOptions,\n globalStyles?: GlobalStylesAllocationMap = {},\n names?: NamesAllocationMap\n ) {\n this.options = {\n ...defaultOptions,\n ...options,\n };\n\n this.gs = globalStyles;\n this.names = new Map(names);\n\n // We rehydrate only once and use the sheet that is created first\n if (!this.options.isServer && IS_BROWSER && SHOULD_REHYDRATE) {\n SHOULD_REHYDRATE = false;\n rehydrateSheet(this);\n }\n }\n\n reconstructWithOptions(options: SheetConstructorArgs) {\n return new StyleSheet({ ...this.options, ...options }, this.gs, this.names);\n }\n\n allocateGSInstance(id: string) {\n return (this.gs[id] = (this.gs[id] || 0) + 1);\n }\n\n /** Lazily initialises a GroupedTag for when it's actually needed */\n getTag(): GroupedTag {\n return this.tag || (this.tag = makeGroupedTag(makeTag(this.options)));\n }\n\n /** Check whether a name is known for caching */\n hasNameForId(id: string, name: string): boolean {\n return this.names.has(id) && (this.names.get(id): any).has(name);\n }\n\n /** Mark a group's name as known for caching */\n registerName(id: string, name: string) {\n getGroupForId(id);\n\n if (!this.names.has(id)) {\n const groupNames = new Set();\n groupNames.add(name);\n this.names.set(id, groupNames);\n } else {\n (this.names.get(id): any).add(name);\n }\n }\n\n /** Insert new rules which also marks the name as known */\n insertRules(id: string, name: string, rules: string[]) {\n this.registerName(id, name);\n this.getTag().insertRules(getGroupForId(id), rules);\n }\n\n /** Clears all cached names for a given group ID */\n clearNames(id: string) {\n if (this.names.has(id)) {\n (this.names.get(id): any).clear();\n }\n }\n\n /** Clears all rules for a given group ID */\n clearRules(id: string) {\n this.getTag().clearGroup(getGroupForId(id));\n this.clearNames(id);\n }\n\n /** Clears the entire tag which deletes all rules but not its names */\n clearTag() {\n // NOTE: This does not clear the names, since it's only used during SSR\n // so that we can continuously output only new rules\n this.tag = undefined;\n }\n\n /** Outputs the current sheet as a CSS string with markers for SSR */\n toString(): string {\n return outputSheet(this);\n }\n}\n","// @flow\nimport isFunction from './isFunction';\nimport isStyledComponent from './isStyledComponent';\nimport type { RuleSet } from '../types';\n\nexport default function isStaticRules(rules: RuleSet): boolean {\n for (let i = 0; i < rules.length; i += 1) {\n const rule = rules[i];\n\n if (isFunction(rule) && !isStyledComponent(rule)) {\n // functions are allowed to be static if they're just being\n // used to get the classname of a nested styled component\n return false;\n }\n }\n\n return true;\n}\n","// @flow\n\nimport flatten from '../utils/flatten';\nimport { hash, phash } from '../utils/hash';\nimport generateName from '../utils/generateAlphabeticName';\nimport isStaticRules from '../utils/isStaticRules';\nimport StyleSheet from '../sheet';\n\nimport type { RuleSet, Stringifier } from '../types';\n\n/*\n ComponentStyle is all the CSS-specific stuff, not\n the React-specific stuff.\n */\nexport default class ComponentStyle {\n baseHash: number;\n\n componentId: string;\n\n isStatic: boolean;\n\n rules: RuleSet;\n\n staticRulesId: string;\n\n constructor(rules: RuleSet, componentId: string) {\n this.rules = rules;\n this.staticRulesId = '';\n this.isStatic = process.env.NODE_ENV === 'production' && isStaticRules(rules);\n this.componentId = componentId;\n this.baseHash = hash(componentId);\n\n // NOTE: This registers the componentId, which ensures a consistent order\n // for this component's styles compared to others\n StyleSheet.registerId(componentId);\n }\n\n /*\n * Flattens a rule set into valid CSS\n * Hashes it, wraps the whole chunk in a .hash1234 {}\n * Returns the hash to be injected on render()\n * */\n generateAndInjectStyles(executionContext: Object, styleSheet: StyleSheet, stylis: Stringifier) {\n const { componentId } = this;\n\n // force dynamic classnames if user-supplied stylis plugins are in use\n if (this.isStatic && !stylis.hash) {\n if (this.staticRulesId && styleSheet.hasNameForId(componentId, this.staticRulesId)) {\n return this.staticRulesId;\n }\n\n const cssStatic = flatten(this.rules, executionContext, styleSheet).join('');\n const name = generateName(phash(this.baseHash, cssStatic.length) >>> 0);\n\n if (!styleSheet.hasNameForId(componentId, name)) {\n const cssStaticFormatted = stylis(cssStatic, `.${name}`, undefined, componentId);\n\n styleSheet.insertRules(componentId, name, cssStaticFormatted);\n }\n\n this.staticRulesId = name;\n\n return name;\n } else {\n const { length } = this.rules;\n let dynamicHash = phash(this.baseHash, stylis.hash);\n let css = '';\n\n for (let i = 0; i < length; i++) {\n const partRule = this.rules[i];\n if (typeof partRule === 'string') {\n css += partRule;\n\n if (process.env.NODE_ENV !== 'production') dynamicHash = phash(dynamicHash, partRule + i);\n } else {\n const partChunk = flatten(partRule, executionContext, styleSheet);\n const partString = Array.isArray(partChunk) ? partChunk.join('') : partChunk;\n dynamicHash = phash(dynamicHash, partString + i);\n css += partString;\n }\n }\n\n const name = generateName(dynamicHash >>> 0);\n\n if (!styleSheet.hasNameForId(componentId, name)) {\n const cssFormatted = stylis(css, `.${name}`, undefined, componentId);\n styleSheet.insertRules(componentId, name, cssFormatted);\n }\n\n return name;\n }\n }\n}\n","// @flow\nimport validAttr from '@emotion/is-prop-valid';\nimport React, {\n createElement,\n useContext,\n useDebugValue,\n type AbstractComponent,\n type Ref,\n} from 'react';\nimport hoist from 'hoist-non-react-statics';\nimport merge from '../utils/mixinDeep';\nimport ComponentStyle from './ComponentStyle';\nimport createWarnTooManyClasses from '../utils/createWarnTooManyClasses';\nimport determineTheme from '../utils/determineTheme';\nimport escape from '../utils/escape';\nimport generateDisplayName from '../utils/generateDisplayName';\nimport getComponentName from '../utils/getComponentName';\nimport generateComponentId from '../utils/generateComponentId';\nimport isFunction from '../utils/isFunction';\nimport isStyledComponent from '../utils/isStyledComponent';\nimport isTag from '../utils/isTag';\nimport joinStrings from '../utils/joinStrings';\nimport { ThemeContext } from './ThemeProvider';\nimport { useStyleSheet, useStylis } from './StyleSheetManager';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from '../utils/empties';\n\nimport type { Attrs, RuleSet, Target } from '../types';\n\n/* global $Call */\n\nconst identifiers = {};\n\n/* We depend on components having unique IDs */\nfunction generateId(displayName: string, parentComponentId: string) {\n const name = typeof displayName !== 'string' ? 'sc' : escape(displayName);\n // Ensure that no displayName can lead to duplicate componentIds\n identifiers[name] = (identifiers[name] || 0) + 1;\n\n const componentId = `${name}-${generateComponentId(name + identifiers[name])}`;\n return parentComponentId ? `${parentComponentId}-${componentId}` : componentId;\n}\n\nfunction useResolvedAttrs(theme: any = EMPTY_OBJECT, props: Config, attrs: Attrs) {\n // NOTE: can't memoize this\n // returns [context, resolvedAttrs]\n // where resolvedAttrs is only the things injected by the attrs themselves\n const context = { ...props, theme };\n const resolvedAttrs = {};\n\n attrs.forEach(attrDef => {\n let resolvedAttrDef = attrDef;\n let key;\n\n if (isFunction(resolvedAttrDef)) {\n resolvedAttrDef = resolvedAttrDef(context);\n }\n\n /* eslint-disable guard-for-in */\n for (key in resolvedAttrDef) {\n context[key] = resolvedAttrs[key] =\n key === 'className'\n ? joinStrings(resolvedAttrs[key], resolvedAttrDef[key])\n : resolvedAttrDef[key];\n }\n /* eslint-enable guard-for-in */\n });\n\n return [context, resolvedAttrs];\n}\n\ninterface StyledComponentWrapperProperties {\n attrs: Attrs;\n componentStyle: ComponentStyle;\n displayName: string;\n foldedComponentIds: Array;\n target: Target;\n styledComponentId: string;\n warnTooManyClasses: $Call;\n}\n\ntype StyledComponentWrapper = AbstractComponent &\n StyledComponentWrapperProperties;\n\nfunction useInjectedStyle(\n componentStyle: ComponentStyle,\n hasAttrs: boolean,\n resolvedAttrs: T,\n warnTooManyClasses?: $Call\n) {\n const styleSheet = useStyleSheet();\n const stylis = useStylis();\n\n // statically styled-components don't need to build an execution context object,\n // and shouldn't be increasing the number of class names\n const isStatic = componentStyle.isStatic && !hasAttrs;\n\n const className = isStatic\n ? componentStyle.generateAndInjectStyles(EMPTY_OBJECT, styleSheet, stylis)\n : componentStyle.generateAndInjectStyles(resolvedAttrs, styleSheet, stylis);\n\n useDebugValue(className);\n\n if (process.env.NODE_ENV !== 'production' && !isStatic && warnTooManyClasses) {\n warnTooManyClasses(className);\n }\n\n return className;\n}\n\nfunction useStyledComponentImpl(\n forwardedComponent: StyledComponentWrapper,\n props: Object,\n forwardedRef: Ref\n) {\n const {\n attrs: componentAttrs,\n componentStyle,\n // $FlowFixMe\n defaultProps,\n foldedComponentIds,\n styledComponentId,\n target,\n } = forwardedComponent;\n\n useDebugValue(styledComponentId);\n\n // NOTE: the non-hooks version only subscribes to this when !componentStyle.isStatic,\n // but that'd be against the rules-of-hooks. We could be naughty and do it anyway as it\n // should be an immutable value, but behave for now.\n const theme = determineTheme(props, useContext(ThemeContext), defaultProps);\n\n const [context, attrs] = useResolvedAttrs(theme || EMPTY_OBJECT, props, componentAttrs);\n\n const generatedClassName = useInjectedStyle(\n componentStyle,\n componentAttrs.length > 0,\n context,\n process.env.NODE_ENV !== 'production' ? forwardedComponent.warnTooManyClasses : undefined\n );\n\n const refToForward = forwardedRef;\n\n const elementToBeCreated: Target = attrs.as || props.as || target;\n\n const isTargetTag = isTag(elementToBeCreated);\n const computedProps = attrs !== props ? { ...props, ...attrs } : props;\n const shouldFilterProps = isTargetTag || 'as' in computedProps || 'forwardedAs' in computedProps;\n const propsForElement = shouldFilterProps ? {} : { ...computedProps };\n\n if (shouldFilterProps) {\n // eslint-disable-next-line guard-for-in\n for (const key in computedProps) {\n if (key === 'forwardedAs') {\n propsForElement.as = computedProps[key];\n } else if (key !== 'as' && key !== 'forwardedAs' && (!isTargetTag || validAttr(key))) {\n // Don't pass through non HTML tags through to HTML elements\n propsForElement[key] = computedProps[key];\n }\n }\n }\n\n if (props.style && attrs.style !== props.style) {\n propsForElement.style = { ...props.style, ...attrs.style };\n }\n\n propsForElement.className = Array.prototype\n .concat(\n foldedComponentIds,\n styledComponentId,\n generatedClassName !== styledComponentId ? generatedClassName : null,\n props.className,\n attrs.className\n )\n .filter(Boolean)\n .join(' ');\n\n propsForElement.ref = refToForward;\n\n return createElement(elementToBeCreated, propsForElement);\n}\n\nexport default function createStyledComponent(\n target: Target | StyledComponentWrapper<*, *>,\n options: Object,\n rules: RuleSet\n) {\n const isTargetStyledComp = isStyledComponent(target);\n const isCompositeComponent = !isTag(target);\n\n const {\n displayName = generateDisplayName(target),\n componentId = generateId(options.displayName, options.parentComponentId),\n attrs = EMPTY_ARRAY,\n } = options;\n\n const styledComponentId =\n options.displayName && options.componentId\n ? `${escape(options.displayName)}-${options.componentId}`\n : options.componentId || componentId;\n\n // fold the underlying StyledComponent attrs up (implicit extend)\n const finalAttrs =\n // $FlowFixMe\n isTargetStyledComp && target.attrs\n ? Array.prototype.concat(target.attrs, attrs).filter(Boolean)\n : attrs;\n\n const componentStyle = new ComponentStyle(\n isTargetStyledComp\n ? // fold the underlying StyledComponent rules up (implicit extend)\n // $FlowFixMe\n target.componentStyle.rules.concat(rules)\n : rules,\n styledComponentId\n );\n\n /**\n * forwardRef creates a new interim component, which we'll take advantage of\n * instead of extending ParentComponent to create _another_ interim class\n */\n let WrappedStyledComponent;\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const forwardRef = (props, ref) => useStyledComponentImpl(WrappedStyledComponent, props, ref);\n\n forwardRef.displayName = displayName;\n\n // $FlowFixMe this is a forced cast to merge it StyledComponentWrapperProperties\n WrappedStyledComponent = (React.forwardRef(forwardRef): StyledComponentWrapper<*, *>);\n\n WrappedStyledComponent.attrs = finalAttrs;\n WrappedStyledComponent.componentStyle = componentStyle;\n WrappedStyledComponent.displayName = displayName;\n\n // this static is used to preserve the cascade of static classes for component selector\n // purposes; this is especially important with usage of the css prop\n WrappedStyledComponent.foldedComponentIds = isTargetStyledComp\n ? // $FlowFixMe\n Array.prototype.concat(target.foldedComponentIds, target.styledComponentId)\n : EMPTY_ARRAY;\n\n WrappedStyledComponent.styledComponentId = styledComponentId;\n\n // fold the underlying StyledComponent target up since we folded the styles\n WrappedStyledComponent.target = isTargetStyledComp\n ? // $FlowFixMe\n target.target\n : target;\n\n // $FlowFixMe\n WrappedStyledComponent.withComponent = function withComponent(tag: Target) {\n const { componentId: previousComponentId, ...optionsToCopy } = options;\n\n const newComponentId =\n previousComponentId &&\n `${previousComponentId}-${isTag(tag) ? tag : escape(getComponentName(tag))}`;\n\n const newOptions = {\n ...optionsToCopy,\n attrs: finalAttrs,\n componentId: newComponentId,\n };\n\n return createStyledComponent(tag, newOptions, rules);\n };\n\n // $FlowFixMe\n Object.defineProperty(WrappedStyledComponent, 'defaultProps', {\n get() {\n return this._foldedDefaultProps;\n },\n\n set(obj) {\n // $FlowFixMe\n this._foldedDefaultProps = isTargetStyledComp ? merge({}, target.defaultProps, obj) : obj;\n },\n });\n\n if (process.env.NODE_ENV !== 'production') {\n WrappedStyledComponent.warnTooManyClasses = createWarnTooManyClasses(\n displayName,\n styledComponentId\n );\n }\n\n // $FlowFixMe\n WrappedStyledComponent.toString = () => `.${WrappedStyledComponent.styledComponentId}`;\n\n if (isCompositeComponent) {\n hoist(WrappedStyledComponent, (target: any), {\n // all SC-specific things should not be hoisted\n attrs: true,\n componentStyle: true,\n displayName: true,\n foldedComponentIds: true,\n self: true,\n styledComponentId: true,\n target: true,\n withComponent: true,\n });\n }\n\n return WrappedStyledComponent;\n}\n","// @flow\nimport flatten from '../utils/flatten';\nimport isStaticRules from '../utils/isStaticRules';\nimport StyleSheet from '../sheet';\n\nimport type { RuleSet, Stringifier } from '../types';\n\nexport default class GlobalStyle {\n componentId: string;\n\n isStatic: boolean;\n\n rules: RuleSet;\n\n constructor(rules: RuleSet, componentId: string) {\n this.rules = rules;\n this.componentId = componentId;\n this.isStatic = isStaticRules(rules);\n }\n\n createStyles(\n instance: number,\n executionContext: Object,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ) {\n const flatCSS = flatten(this.rules, executionContext, styleSheet);\n const css = stylis(flatCSS.join(''), '');\n const id = this.componentId + instance;\n\n // NOTE: We use the id as a name as well, since these rules never change\n styleSheet.insertRules(id, id, css);\n }\n\n removeStyles(instance: number, styleSheet: StyleSheet) {\n styleSheet.clearRules(this.componentId + instance);\n }\n\n renderStyles(\n instance: number,\n executionContext: Object,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ) {\n StyleSheet.registerId(this.componentId + instance);\n\n // NOTE: Remove old styles, then inject the new ones\n this.removeStyles(instance, styleSheet);\n this.createStyles(instance, executionContext, styleSheet, stylis);\n }\n}\n","// @flow\nimport React, { useContext, useEffect, useRef } from 'react';\nimport { STATIC_EXECUTION_CONTEXT } from '../constants';\nimport GlobalStyle from '../models/GlobalStyle';\nimport { useStyleSheet, useStylis } from '../models/StyleSheetManager';\nimport determineTheme from '../utils/determineTheme';\nimport { ThemeContext } from '../models/ThemeProvider';\nimport { EMPTY_ARRAY } from '../utils/empties';\nimport generateComponentId from '../utils/generateComponentId';\nimport css from './css';\n\nimport type { Interpolation } from '../types';\n\ntype GlobalStyleComponentPropsType = Object;\n\nexport default function createGlobalStyle(\n strings: Array,\n ...interpolations: Array\n) {\n const rules = css(strings, ...interpolations);\n const styledComponentId = `sc-global-${generateComponentId(JSON.stringify(rules))}`;\n const globalStyle = new GlobalStyle(rules, styledComponentId);\n\n function GlobalStyleComponent(props: GlobalStyleComponentPropsType) {\n const styleSheet = useStyleSheet();\n const stylis = useStylis();\n const theme = useContext(ThemeContext);\n const instanceRef = useRef(null);\n\n if (instanceRef.current === null) {\n instanceRef.current = styleSheet.allocateGSInstance(styledComponentId);\n }\n\n const instance = instanceRef.current;\n\n if (process.env.NODE_ENV !== 'production' && React.Children.count(props.children)) {\n // eslint-disable-next-line no-console\n console.warn(\n `The global style component ${styledComponentId} was given child JSX. createGlobalStyle does not render children.`\n );\n }\n\n if (globalStyle.isStatic) {\n globalStyle.renderStyles(instance, STATIC_EXECUTION_CONTEXT, styleSheet, stylis);\n } else {\n const context = {\n ...props,\n theme: determineTheme(props, theme, GlobalStyleComponent.defaultProps),\n };\n\n globalStyle.renderStyles(instance, context, styleSheet, stylis);\n }\n\n useEffect(() => () => globalStyle.removeStyles(instance, styleSheet), EMPTY_ARRAY);\n\n return null;\n }\n\n // $FlowFixMe\n return React.memo(GlobalStyleComponent);\n}\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\n\n// src/index.tsx\nimport React, { useRef, useEffect, useState } from \"react\";\n\n// src/third-party/qrcodegen/index.ts\n/**\n * @license QR Code generator library (TypeScript)\n * Copyright (c) Project Nayuki.\n * SPDX-License-Identifier: MIT\n */\nvar qrcodegen;\n((qrcodegen2) => {\n const _QrCode = class {\n constructor(version, errorCorrectionLevel, dataCodewords, msk) {\n this.version = version;\n this.errorCorrectionLevel = errorCorrectionLevel;\n this.modules = [];\n this.isFunction = [];\n if (version < _QrCode.MIN_VERSION || version > _QrCode.MAX_VERSION)\n throw new RangeError(\"Version value out of range\");\n if (msk < -1 || msk > 7)\n throw new RangeError(\"Mask value out of range\");\n this.size = version * 4 + 17;\n let row = [];\n for (let i = 0; i < this.size; i++)\n row.push(false);\n for (let i = 0; i < this.size; i++) {\n this.modules.push(row.slice());\n this.isFunction.push(row.slice());\n }\n this.drawFunctionPatterns();\n const allCodewords = this.addEccAndInterleave(dataCodewords);\n this.drawCodewords(allCodewords);\n if (msk == -1) {\n let minPenalty = 1e9;\n for (let i = 0; i < 8; i++) {\n this.applyMask(i);\n this.drawFormatBits(i);\n const penalty = this.getPenaltyScore();\n if (penalty < minPenalty) {\n msk = i;\n minPenalty = penalty;\n }\n this.applyMask(i);\n }\n }\n assert(0 <= msk && msk <= 7);\n this.mask = msk;\n this.applyMask(msk);\n this.drawFormatBits(msk);\n this.isFunction = [];\n }\n static encodeText(text, ecl) {\n const segs = qrcodegen2.QrSegment.makeSegments(text);\n return _QrCode.encodeSegments(segs, ecl);\n }\n static encodeBinary(data, ecl) {\n const seg = qrcodegen2.QrSegment.makeBytes(data);\n return _QrCode.encodeSegments([seg], ecl);\n }\n static encodeSegments(segs, ecl, minVersion = 1, maxVersion = 40, mask = -1, boostEcl = true) {\n if (!(_QrCode.MIN_VERSION <= minVersion && minVersion <= maxVersion && maxVersion <= _QrCode.MAX_VERSION) || mask < -1 || mask > 7)\n throw new RangeError(\"Invalid value\");\n let version;\n let dataUsedBits;\n for (version = minVersion; ; version++) {\n const dataCapacityBits2 = _QrCode.getNumDataCodewords(version, ecl) * 8;\n const usedBits = QrSegment.getTotalBits(segs, version);\n if (usedBits <= dataCapacityBits2) {\n dataUsedBits = usedBits;\n break;\n }\n if (version >= maxVersion)\n throw new RangeError(\"Data too long\");\n }\n for (const newEcl of [_QrCode.Ecc.MEDIUM, _QrCode.Ecc.QUARTILE, _QrCode.Ecc.HIGH]) {\n if (boostEcl && dataUsedBits <= _QrCode.getNumDataCodewords(version, newEcl) * 8)\n ecl = newEcl;\n }\n let bb = [];\n for (const seg of segs) {\n appendBits(seg.mode.modeBits, 4, bb);\n appendBits(seg.numChars, seg.mode.numCharCountBits(version), bb);\n for (const b of seg.getData())\n bb.push(b);\n }\n assert(bb.length == dataUsedBits);\n const dataCapacityBits = _QrCode.getNumDataCodewords(version, ecl) * 8;\n assert(bb.length <= dataCapacityBits);\n appendBits(0, Math.min(4, dataCapacityBits - bb.length), bb);\n appendBits(0, (8 - bb.length % 8) % 8, bb);\n assert(bb.length % 8 == 0);\n for (let padByte = 236; bb.length < dataCapacityBits; padByte ^= 236 ^ 17)\n appendBits(padByte, 8, bb);\n let dataCodewords = [];\n while (dataCodewords.length * 8 < bb.length)\n dataCodewords.push(0);\n bb.forEach((b, i) => dataCodewords[i >>> 3] |= b << 7 - (i & 7));\n return new _QrCode(version, ecl, dataCodewords, mask);\n }\n getModule(x, y) {\n return 0 <= x && x < this.size && 0 <= y && y < this.size && this.modules[y][x];\n }\n getModules() {\n return this.modules;\n }\n drawFunctionPatterns() {\n for (let i = 0; i < this.size; i++) {\n this.setFunctionModule(6, i, i % 2 == 0);\n this.setFunctionModule(i, 6, i % 2 == 0);\n }\n this.drawFinderPattern(3, 3);\n this.drawFinderPattern(this.size - 4, 3);\n this.drawFinderPattern(3, this.size - 4);\n const alignPatPos = this.getAlignmentPatternPositions();\n const numAlign = alignPatPos.length;\n for (let i = 0; i < numAlign; i++) {\n for (let j = 0; j < numAlign; j++) {\n if (!(i == 0 && j == 0 || i == 0 && j == numAlign - 1 || i == numAlign - 1 && j == 0))\n this.drawAlignmentPattern(alignPatPos[i], alignPatPos[j]);\n }\n }\n this.drawFormatBits(0);\n this.drawVersion();\n }\n drawFormatBits(mask) {\n const data = this.errorCorrectionLevel.formatBits << 3 | mask;\n let rem = data;\n for (let i = 0; i < 10; i++)\n rem = rem << 1 ^ (rem >>> 9) * 1335;\n const bits = (data << 10 | rem) ^ 21522;\n assert(bits >>> 15 == 0);\n for (let i = 0; i <= 5; i++)\n this.setFunctionModule(8, i, getBit(bits, i));\n this.setFunctionModule(8, 7, getBit(bits, 6));\n this.setFunctionModule(8, 8, getBit(bits, 7));\n this.setFunctionModule(7, 8, getBit(bits, 8));\n for (let i = 9; i < 15; i++)\n this.setFunctionModule(14 - i, 8, getBit(bits, i));\n for (let i = 0; i < 8; i++)\n this.setFunctionModule(this.size - 1 - i, 8, getBit(bits, i));\n for (let i = 8; i < 15; i++)\n this.setFunctionModule(8, this.size - 15 + i, getBit(bits, i));\n this.setFunctionModule(8, this.size - 8, true);\n }\n drawVersion() {\n if (this.version < 7)\n return;\n let rem = this.version;\n for (let i = 0; i < 12; i++)\n rem = rem << 1 ^ (rem >>> 11) * 7973;\n const bits = this.version << 12 | rem;\n assert(bits >>> 18 == 0);\n for (let i = 0; i < 18; i++) {\n const color = getBit(bits, i);\n const a = this.size - 11 + i % 3;\n const b = Math.floor(i / 3);\n this.setFunctionModule(a, b, color);\n this.setFunctionModule(b, a, color);\n }\n }\n drawFinderPattern(x, y) {\n for (let dy = -4; dy <= 4; dy++) {\n for (let dx = -4; dx <= 4; dx++) {\n const dist = Math.max(Math.abs(dx), Math.abs(dy));\n const xx = x + dx;\n const yy = y + dy;\n if (0 <= xx && xx < this.size && 0 <= yy && yy < this.size)\n this.setFunctionModule(xx, yy, dist != 2 && dist != 4);\n }\n }\n }\n drawAlignmentPattern(x, y) {\n for (let dy = -2; dy <= 2; dy++) {\n for (let dx = -2; dx <= 2; dx++)\n this.setFunctionModule(x + dx, y + dy, Math.max(Math.abs(dx), Math.abs(dy)) != 1);\n }\n }\n setFunctionModule(x, y, isDark) {\n this.modules[y][x] = isDark;\n this.isFunction[y][x] = true;\n }\n addEccAndInterleave(data) {\n const ver = this.version;\n const ecl = this.errorCorrectionLevel;\n if (data.length != _QrCode.getNumDataCodewords(ver, ecl))\n throw new RangeError(\"Invalid argument\");\n const numBlocks = _QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];\n const blockEccLen = _QrCode.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver];\n const rawCodewords = Math.floor(_QrCode.getNumRawDataModules(ver) / 8);\n const numShortBlocks = numBlocks - rawCodewords % numBlocks;\n const shortBlockLen = Math.floor(rawCodewords / numBlocks);\n let blocks = [];\n const rsDiv = _QrCode.reedSolomonComputeDivisor(blockEccLen);\n for (let i = 0, k = 0; i < numBlocks; i++) {\n let dat = data.slice(k, k + shortBlockLen - blockEccLen + (i < numShortBlocks ? 0 : 1));\n k += dat.length;\n const ecc = _QrCode.reedSolomonComputeRemainder(dat, rsDiv);\n if (i < numShortBlocks)\n dat.push(0);\n blocks.push(dat.concat(ecc));\n }\n let result = [];\n for (let i = 0; i < blocks[0].length; i++) {\n blocks.forEach((block, j) => {\n if (i != shortBlockLen - blockEccLen || j >= numShortBlocks)\n result.push(block[i]);\n });\n }\n assert(result.length == rawCodewords);\n return result;\n }\n drawCodewords(data) {\n if (data.length != Math.floor(_QrCode.getNumRawDataModules(this.version) / 8))\n throw new RangeError(\"Invalid argument\");\n let i = 0;\n for (let right = this.size - 1; right >= 1; right -= 2) {\n if (right == 6)\n right = 5;\n for (let vert = 0; vert < this.size; vert++) {\n for (let j = 0; j < 2; j++) {\n const x = right - j;\n const upward = (right + 1 & 2) == 0;\n const y = upward ? this.size - 1 - vert : vert;\n if (!this.isFunction[y][x] && i < data.length * 8) {\n this.modules[y][x] = getBit(data[i >>> 3], 7 - (i & 7));\n i++;\n }\n }\n }\n }\n assert(i == data.length * 8);\n }\n applyMask(mask) {\n if (mask < 0 || mask > 7)\n throw new RangeError(\"Mask value out of range\");\n for (let y = 0; y < this.size; y++) {\n for (let x = 0; x < this.size; x++) {\n let invert;\n switch (mask) {\n case 0:\n invert = (x + y) % 2 == 0;\n break;\n case 1:\n invert = y % 2 == 0;\n break;\n case 2:\n invert = x % 3 == 0;\n break;\n case 3:\n invert = (x + y) % 3 == 0;\n break;\n case 4:\n invert = (Math.floor(x / 3) + Math.floor(y / 2)) % 2 == 0;\n break;\n case 5:\n invert = x * y % 2 + x * y % 3 == 0;\n break;\n case 6:\n invert = (x * y % 2 + x * y % 3) % 2 == 0;\n break;\n case 7:\n invert = ((x + y) % 2 + x * y % 3) % 2 == 0;\n break;\n default:\n throw new Error(\"Unreachable\");\n }\n if (!this.isFunction[y][x] && invert)\n this.modules[y][x] = !this.modules[y][x];\n }\n }\n }\n getPenaltyScore() {\n let result = 0;\n for (let y = 0; y < this.size; y++) {\n let runColor = false;\n let runX = 0;\n let runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (let x = 0; x < this.size; x++) {\n if (this.modules[y][x] == runColor) {\n runX++;\n if (runX == 5)\n result += _QrCode.PENALTY_N1;\n else if (runX > 5)\n result++;\n } else {\n this.finderPenaltyAddHistory(runX, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * _QrCode.PENALTY_N3;\n runColor = this.modules[y][x];\n runX = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runX, runHistory) * _QrCode.PENALTY_N3;\n }\n for (let x = 0; x < this.size; x++) {\n let runColor = false;\n let runY = 0;\n let runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (let y = 0; y < this.size; y++) {\n if (this.modules[y][x] == runColor) {\n runY++;\n if (runY == 5)\n result += _QrCode.PENALTY_N1;\n else if (runY > 5)\n result++;\n } else {\n this.finderPenaltyAddHistory(runY, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * _QrCode.PENALTY_N3;\n runColor = this.modules[y][x];\n runY = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runY, runHistory) * _QrCode.PENALTY_N3;\n }\n for (let y = 0; y < this.size - 1; y++) {\n for (let x = 0; x < this.size - 1; x++) {\n const color = this.modules[y][x];\n if (color == this.modules[y][x + 1] && color == this.modules[y + 1][x] && color == this.modules[y + 1][x + 1])\n result += _QrCode.PENALTY_N2;\n }\n }\n let dark = 0;\n for (const row of this.modules)\n dark = row.reduce((sum, color) => sum + (color ? 1 : 0), dark);\n const total = this.size * this.size;\n const k = Math.ceil(Math.abs(dark * 20 - total * 10) / total) - 1;\n assert(0 <= k && k <= 9);\n result += k * _QrCode.PENALTY_N4;\n assert(0 <= result && result <= 2568888);\n return result;\n }\n getAlignmentPatternPositions() {\n if (this.version == 1)\n return [];\n else {\n const numAlign = Math.floor(this.version / 7) + 2;\n const step = this.version == 32 ? 26 : Math.ceil((this.version * 4 + 4) / (numAlign * 2 - 2)) * 2;\n let result = [6];\n for (let pos = this.size - 7; result.length < numAlign; pos -= step)\n result.splice(1, 0, pos);\n return result;\n }\n }\n static getNumRawDataModules(ver) {\n if (ver < _QrCode.MIN_VERSION || ver > _QrCode.MAX_VERSION)\n throw new RangeError(\"Version number out of range\");\n let result = (16 * ver + 128) * ver + 64;\n if (ver >= 2) {\n const numAlign = Math.floor(ver / 7) + 2;\n result -= (25 * numAlign - 10) * numAlign - 55;\n if (ver >= 7)\n result -= 36;\n }\n assert(208 <= result && result <= 29648);\n return result;\n }\n static getNumDataCodewords(ver, ecl) {\n return Math.floor(_QrCode.getNumRawDataModules(ver) / 8) - _QrCode.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver] * _QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];\n }\n static reedSolomonComputeDivisor(degree) {\n if (degree < 1 || degree > 255)\n throw new RangeError(\"Degree out of range\");\n let result = [];\n for (let i = 0; i < degree - 1; i++)\n result.push(0);\n result.push(1);\n let root = 1;\n for (let i = 0; i < degree; i++) {\n for (let j = 0; j < result.length; j++) {\n result[j] = _QrCode.reedSolomonMultiply(result[j], root);\n if (j + 1 < result.length)\n result[j] ^= result[j + 1];\n }\n root = _QrCode.reedSolomonMultiply(root, 2);\n }\n return result;\n }\n static reedSolomonComputeRemainder(data, divisor) {\n let result = divisor.map((_) => 0);\n for (const b of data) {\n const factor = b ^ result.shift();\n result.push(0);\n divisor.forEach((coef, i) => result[i] ^= _QrCode.reedSolomonMultiply(coef, factor));\n }\n return result;\n }\n static reedSolomonMultiply(x, y) {\n if (x >>> 8 != 0 || y >>> 8 != 0)\n throw new RangeError(\"Byte out of range\");\n let z = 0;\n for (let i = 7; i >= 0; i--) {\n z = z << 1 ^ (z >>> 7) * 285;\n z ^= (y >>> i & 1) * x;\n }\n assert(z >>> 8 == 0);\n return z;\n }\n finderPenaltyCountPatterns(runHistory) {\n const n = runHistory[1];\n assert(n <= this.size * 3);\n const core = n > 0 && runHistory[2] == n && runHistory[3] == n * 3 && runHistory[4] == n && runHistory[5] == n;\n return (core && runHistory[0] >= n * 4 && runHistory[6] >= n ? 1 : 0) + (core && runHistory[6] >= n * 4 && runHistory[0] >= n ? 1 : 0);\n }\n finderPenaltyTerminateAndCount(currentRunColor, currentRunLength, runHistory) {\n if (currentRunColor) {\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n currentRunLength = 0;\n }\n currentRunLength += this.size;\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n return this.finderPenaltyCountPatterns(runHistory);\n }\n finderPenaltyAddHistory(currentRunLength, runHistory) {\n if (runHistory[0] == 0)\n currentRunLength += this.size;\n runHistory.pop();\n runHistory.unshift(currentRunLength);\n }\n };\n let QrCode = _QrCode;\n QrCode.MIN_VERSION = 1;\n QrCode.MAX_VERSION = 40;\n QrCode.PENALTY_N1 = 3;\n QrCode.PENALTY_N2 = 3;\n QrCode.PENALTY_N3 = 40;\n QrCode.PENALTY_N4 = 10;\n QrCode.ECC_CODEWORDS_PER_BLOCK = [\n [-1, 7, 10, 15, 20, 26, 18, 20, 24, 30, 18, 20, 24, 26, 30, 22, 24, 28, 30, 28, 28, 28, 28, 30, 30, 26, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],\n [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28],\n [-1, 13, 22, 18, 26, 18, 24, 18, 22, 20, 24, 28, 26, 24, 20, 30, 24, 28, 28, 26, 30, 28, 30, 30, 30, 30, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],\n [-1, 17, 28, 22, 16, 22, 28, 26, 26, 24, 28, 24, 28, 22, 24, 24, 30, 28, 28, 26, 28, 30, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]\n ];\n QrCode.NUM_ERROR_CORRECTION_BLOCKS = [\n [-1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12, 12, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 24, 25],\n [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49],\n [-1, 1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23, 25, 27, 29, 34, 34, 35, 38, 40, 43, 45, 48, 51, 53, 56, 59, 62, 65, 68],\n [-1, 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81]\n ];\n qrcodegen2.QrCode = QrCode;\n function appendBits(val, len, bb) {\n if (len < 0 || len > 31 || val >>> len != 0)\n throw new RangeError(\"Value out of range\");\n for (let i = len - 1; i >= 0; i--)\n bb.push(val >>> i & 1);\n }\n function getBit(x, i) {\n return (x >>> i & 1) != 0;\n }\n function assert(cond) {\n if (!cond)\n throw new Error(\"Assertion error\");\n }\n const _QrSegment = class {\n constructor(mode, numChars, bitData) {\n this.mode = mode;\n this.numChars = numChars;\n this.bitData = bitData;\n if (numChars < 0)\n throw new RangeError(\"Invalid argument\");\n this.bitData = bitData.slice();\n }\n static makeBytes(data) {\n let bb = [];\n for (const b of data)\n appendBits(b, 8, bb);\n return new _QrSegment(_QrSegment.Mode.BYTE, data.length, bb);\n }\n static makeNumeric(digits) {\n if (!_QrSegment.isNumeric(digits))\n throw new RangeError(\"String contains non-numeric characters\");\n let bb = [];\n for (let i = 0; i < digits.length; ) {\n const n = Math.min(digits.length - i, 3);\n appendBits(parseInt(digits.substr(i, n), 10), n * 3 + 1, bb);\n i += n;\n }\n return new _QrSegment(_QrSegment.Mode.NUMERIC, digits.length, bb);\n }\n static makeAlphanumeric(text) {\n if (!_QrSegment.isAlphanumeric(text))\n throw new RangeError(\"String contains unencodable characters in alphanumeric mode\");\n let bb = [];\n let i;\n for (i = 0; i + 2 <= text.length; i += 2) {\n let temp = _QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)) * 45;\n temp += _QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i + 1));\n appendBits(temp, 11, bb);\n }\n if (i < text.length)\n appendBits(_QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)), 6, bb);\n return new _QrSegment(_QrSegment.Mode.ALPHANUMERIC, text.length, bb);\n }\n static makeSegments(text) {\n if (text == \"\")\n return [];\n else if (_QrSegment.isNumeric(text))\n return [_QrSegment.makeNumeric(text)];\n else if (_QrSegment.isAlphanumeric(text))\n return [_QrSegment.makeAlphanumeric(text)];\n else\n return [_QrSegment.makeBytes(_QrSegment.toUtf8ByteArray(text))];\n }\n static makeEci(assignVal) {\n let bb = [];\n if (assignVal < 0)\n throw new RangeError(\"ECI assignment value out of range\");\n else if (assignVal < 1 << 7)\n appendBits(assignVal, 8, bb);\n else if (assignVal < 1 << 14) {\n appendBits(2, 2, bb);\n appendBits(assignVal, 14, bb);\n } else if (assignVal < 1e6) {\n appendBits(6, 3, bb);\n appendBits(assignVal, 21, bb);\n } else\n throw new RangeError(\"ECI assignment value out of range\");\n return new _QrSegment(_QrSegment.Mode.ECI, 0, bb);\n }\n static isNumeric(text) {\n return _QrSegment.NUMERIC_REGEX.test(text);\n }\n static isAlphanumeric(text) {\n return _QrSegment.ALPHANUMERIC_REGEX.test(text);\n }\n getData() {\n return this.bitData.slice();\n }\n static getTotalBits(segs, version) {\n let result = 0;\n for (const seg of segs) {\n const ccbits = seg.mode.numCharCountBits(version);\n if (seg.numChars >= 1 << ccbits)\n return Infinity;\n result += 4 + ccbits + seg.bitData.length;\n }\n return result;\n }\n static toUtf8ByteArray(str) {\n str = encodeURI(str);\n let result = [];\n for (let i = 0; i < str.length; i++) {\n if (str.charAt(i) != \"%\")\n result.push(str.charCodeAt(i));\n else {\n result.push(parseInt(str.substr(i + 1, 2), 16));\n i += 2;\n }\n }\n return result;\n }\n };\n let QrSegment = _QrSegment;\n QrSegment.NUMERIC_REGEX = /^[0-9]*$/;\n QrSegment.ALPHANUMERIC_REGEX = /^[A-Z0-9 $%*+.\\/:-]*$/;\n QrSegment.ALPHANUMERIC_CHARSET = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:\";\n qrcodegen2.QrSegment = QrSegment;\n})(qrcodegen || (qrcodegen = {}));\n((qrcodegen2) => {\n let QrCode;\n ((QrCode2) => {\n const _Ecc = class {\n constructor(ordinal, formatBits) {\n this.ordinal = ordinal;\n this.formatBits = formatBits;\n }\n };\n let Ecc = _Ecc;\n Ecc.LOW = new _Ecc(0, 1);\n Ecc.MEDIUM = new _Ecc(1, 0);\n Ecc.QUARTILE = new _Ecc(2, 3);\n Ecc.HIGH = new _Ecc(3, 2);\n QrCode2.Ecc = Ecc;\n })(QrCode = qrcodegen2.QrCode || (qrcodegen2.QrCode = {}));\n})(qrcodegen || (qrcodegen = {}));\n((qrcodegen2) => {\n let QrSegment;\n ((QrSegment2) => {\n const _Mode = class {\n constructor(modeBits, numBitsCharCount) {\n this.modeBits = modeBits;\n this.numBitsCharCount = numBitsCharCount;\n }\n numCharCountBits(ver) {\n return this.numBitsCharCount[Math.floor((ver + 7) / 17)];\n }\n };\n let Mode = _Mode;\n Mode.NUMERIC = new _Mode(1, [10, 12, 14]);\n Mode.ALPHANUMERIC = new _Mode(2, [9, 11, 13]);\n Mode.BYTE = new _Mode(4, [8, 16, 16]);\n Mode.KANJI = new _Mode(8, [8, 10, 12]);\n Mode.ECI = new _Mode(7, [0, 0, 0]);\n QrSegment2.Mode = Mode;\n })(QrSegment = qrcodegen2.QrSegment || (qrcodegen2.QrSegment = {}));\n})(qrcodegen || (qrcodegen = {}));\nvar qrcodegen_default = qrcodegen;\n\n// src/index.tsx\n/**\n * @license qrcode.react\n * Copyright (c) Paul O'Shannessy\n * SPDX-License-Identifier: ISC\n */\nvar ERROR_LEVEL_MAP = {\n L: qrcodegen_default.QrCode.Ecc.LOW,\n M: qrcodegen_default.QrCode.Ecc.MEDIUM,\n Q: qrcodegen_default.QrCode.Ecc.QUARTILE,\n H: qrcodegen_default.QrCode.Ecc.HIGH\n};\nvar DEFAULT_SIZE = 128;\nvar DEFAULT_LEVEL = \"L\";\nvar DEFAULT_BGCOLOR = \"#FFFFFF\";\nvar DEFAULT_FGCOLOR = \"#000000\";\nvar DEFAULT_INCLUDEMARGIN = false;\nvar MARGIN_SIZE = 4;\nvar DEFAULT_IMG_SCALE = 0.1;\nfunction generatePath(modules, margin = 0) {\n const ops = [];\n modules.forEach(function(row, y) {\n let start = null;\n row.forEach(function(cell, x) {\n if (!cell && start !== null) {\n ops.push(`M${start + margin} ${y + margin}h${x - start}v1H${start + margin}z`);\n start = null;\n return;\n }\n if (x === row.length - 1) {\n if (!cell) {\n return;\n }\n if (start === null) {\n ops.push(`M${x + margin},${y + margin} h1v1H${x + margin}z`);\n } else {\n ops.push(`M${start + margin},${y + margin} h${x + 1 - start}v1H${start + margin}z`);\n }\n return;\n }\n if (cell && start === null) {\n start = x;\n }\n });\n });\n return ops.join(\"\");\n}\nfunction excavateModules(modules, excavation) {\n return modules.slice().map((row, y) => {\n if (y < excavation.y || y >= excavation.y + excavation.h) {\n return row;\n }\n return row.map((cell, x) => {\n if (x < excavation.x || x >= excavation.x + excavation.w) {\n return cell;\n }\n return false;\n });\n });\n}\nfunction getImageSettings(cells, size, includeMargin, imageSettings) {\n if (imageSettings == null) {\n return null;\n }\n const margin = includeMargin ? MARGIN_SIZE : 0;\n const numCells = cells.length + margin * 2;\n const defaultSize = Math.floor(size * DEFAULT_IMG_SCALE);\n const scale = numCells / size;\n const w = (imageSettings.width || defaultSize) * scale;\n const h = (imageSettings.height || defaultSize) * scale;\n const x = imageSettings.x == null ? cells.length / 2 - w / 2 : imageSettings.x * scale;\n const y = imageSettings.y == null ? cells.length / 2 - h / 2 : imageSettings.y * scale;\n let excavation = null;\n if (imageSettings.excavate) {\n let floorX = Math.floor(x);\n let floorY = Math.floor(y);\n let ceilW = Math.ceil(w + x - floorX);\n let ceilH = Math.ceil(h + y - floorY);\n excavation = { x: floorX, y: floorY, w: ceilW, h: ceilH };\n }\n return { x, y, h, w, excavation };\n}\nvar SUPPORTS_PATH2D = function() {\n try {\n new Path2D().addPath(new Path2D());\n } catch (e) {\n return false;\n }\n return true;\n}();\nfunction QRCodeCanvas(props) {\n const _a = props, {\n value,\n size = DEFAULT_SIZE,\n level = DEFAULT_LEVEL,\n bgColor = DEFAULT_BGCOLOR,\n fgColor = DEFAULT_FGCOLOR,\n includeMargin = DEFAULT_INCLUDEMARGIN,\n style,\n imageSettings\n } = _a, otherProps = __objRest(_a, [\n \"value\",\n \"size\",\n \"level\",\n \"bgColor\",\n \"fgColor\",\n \"includeMargin\",\n \"style\",\n \"imageSettings\"\n ]);\n const imgSrc = imageSettings == null ? void 0 : imageSettings.src;\n const _canvas = useRef(null);\n const _image = useRef(null);\n const [isImgLoaded, setIsImageLoaded] = useState(false);\n useEffect(() => {\n if (_canvas.current != null) {\n const canvas = _canvas.current;\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) {\n return;\n }\n let cells = qrcodegen_default.QrCode.encodeText(value, ERROR_LEVEL_MAP[level]).getModules();\n const margin = includeMargin ? MARGIN_SIZE : 0;\n const numCells = cells.length + margin * 2;\n const calculatedImageSettings = getImageSettings(cells, size, includeMargin, imageSettings);\n const image = _image.current;\n const haveImageToRender = calculatedImageSettings != null && image !== null && image.complete && image.naturalHeight !== 0 && image.naturalWidth !== 0;\n if (haveImageToRender) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n }\n const pixelRatio = window.devicePixelRatio || 1;\n canvas.height = canvas.width = size * pixelRatio;\n const scale = size / numCells * pixelRatio;\n ctx.scale(scale, scale);\n ctx.fillStyle = bgColor;\n ctx.fillRect(0, 0, numCells, numCells);\n ctx.fillStyle = fgColor;\n if (SUPPORTS_PATH2D) {\n ctx.fill(new Path2D(generatePath(cells, margin)));\n } else {\n cells.forEach(function(row, rdx) {\n row.forEach(function(cell, cdx) {\n if (cell) {\n ctx.fillRect(cdx + margin, rdx + margin, 1, 1);\n }\n });\n });\n }\n if (haveImageToRender) {\n ctx.drawImage(image, calculatedImageSettings.x + margin, calculatedImageSettings.y + margin, calculatedImageSettings.w, calculatedImageSettings.h);\n }\n }\n });\n useEffect(() => {\n setIsImageLoaded(false);\n }, [imgSrc]);\n const canvasStyle = __spreadValues({ height: size, width: size }, style);\n let img = null;\n if (imgSrc != null) {\n img = /* @__PURE__ */ React.createElement(\"img\", {\n src: imgSrc,\n key: imgSrc,\n style: { display: \"none\" },\n onLoad: () => {\n setIsImageLoaded(true);\n },\n ref: _image\n });\n }\n return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"canvas\", __spreadValues({\n style: canvasStyle,\n height: size,\n width: size,\n ref: _canvas\n }, otherProps)), img);\n}\nfunction QRCodeSVG(props) {\n const _a = props, {\n value,\n size = DEFAULT_SIZE,\n level = DEFAULT_LEVEL,\n bgColor = DEFAULT_BGCOLOR,\n fgColor = DEFAULT_FGCOLOR,\n includeMargin = DEFAULT_INCLUDEMARGIN,\n imageSettings\n } = _a, otherProps = __objRest(_a, [\n \"value\",\n \"size\",\n \"level\",\n \"bgColor\",\n \"fgColor\",\n \"includeMargin\",\n \"imageSettings\"\n ]);\n let cells = qrcodegen_default.QrCode.encodeText(value, ERROR_LEVEL_MAP[level]).getModules();\n const margin = includeMargin ? MARGIN_SIZE : 0;\n const numCells = cells.length + margin * 2;\n const calculatedImageSettings = getImageSettings(cells, size, includeMargin, imageSettings);\n let image = null;\n if (imageSettings != null && calculatedImageSettings != null) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n image = /* @__PURE__ */ React.createElement(\"image\", {\n xlinkHref: imageSettings.src,\n height: calculatedImageSettings.h,\n width: calculatedImageSettings.w,\n x: calculatedImageSettings.x + margin,\n y: calculatedImageSettings.y + margin,\n preserveAspectRatio: \"none\"\n });\n }\n const fgPath = generatePath(cells, margin);\n return /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({\n height: size,\n width: size,\n viewBox: `0 0 ${numCells} ${numCells}`\n }, otherProps), /* @__PURE__ */ React.createElement(\"path\", {\n fill: bgColor,\n d: `M0,0 h${numCells}v${numCells}H0z`,\n shapeRendering: \"crispEdges\"\n }), /* @__PURE__ */ React.createElement(\"path\", {\n fill: fgColor,\n d: fgPath,\n shapeRendering: \"crispEdges\"\n }), image);\n}\nvar QRCode = (props) => {\n const _a = props, { renderAs } = _a, otherProps = __objRest(_a, [\"renderAs\"]);\n if (renderAs === \"svg\") {\n return /* @__PURE__ */ React.createElement(QRCodeSVG, __spreadValues({}, otherProps));\n }\n return /* @__PURE__ */ React.createElement(QRCodeCanvas, __spreadValues({}, otherProps));\n};\nexport {\n QRCodeCanvas,\n QRCodeSVG,\n QRCode as default\n};\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","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}","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$')\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","// The minimum length of the national significant number.\r\nexport const MIN_LENGTH_FOR_NSN = 2\r\n\r\n// The ITU says the maximum length should be 15,\r\n// but one can find longer numbers in Germany.\r\nexport const MAX_LENGTH_FOR_NSN = 17\r\n\r\n// The maximum length of the country calling code.\r\nexport const MAX_LENGTH_COUNTRY_CODE = 3\r\n\r\n// Digits accepted in phone numbers\r\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\r\nexport const VALID_DIGITS = '0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9'\r\n\r\n// `DASHES` will be right after the opening square bracket of the \"character class\"\r\nconst DASHES = '-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D'\r\nconst SLASHES = '\\uFF0F/'\r\nconst DOTS = '\\uFF0E.'\r\nexport const WHITESPACE = ' \\u00A0\\u00AD\\u200B\\u2060\\u3000'\r\nconst BRACKETS = '()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]'\r\n// export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\r\nconst TILDES = '~\\u2053\\u223C\\uFF5E'\r\n\r\n// Regular expression of acceptable punctuation found in phone numbers. This\r\n// excludes punctuation found as a leading character only. This consists of dash\r\n// characters, white space characters, full stops, slashes, square brackets,\r\n// parentheses and tildes. Full-width variants are also present.\r\nexport const VALID_PUNCTUATION = `${DASHES}${SLASHES}${DOTS}${WHITESPACE}${BRACKETS}${TILDES}`\r\n\r\nexport const PLUS_CHARS = '+\\uFF0B'\r\n// const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')","// https://stackoverflow.com/a/46971044/970769\r\nexport default class ParseError {\r\n constructor(code) {\r\n this.name = this.constructor.name\r\n this.message = code\r\n this.stack = (new Error(code)).stack\r\n }\r\n}\r\n\r\nParseError.prototype = Object.create(Error.prototype)\r\nParseError.prototype.constructor = ParseError","// Copy-pasted from:\r\n// https://github.com/substack/semver-compare/blob/master/index.js\r\n//\r\n// Inlining this function because some users reported issues with\r\n// importing from `semver-compare` in a browser with ES6 \"native\" modules.\r\n//\r\n// Fixes `semver-compare` not being able to compare versions with alpha/beta/etc \"tags\".\r\n// https://github.com/catamphetamine/libphonenumber-js/issues/381\r\nexport default function(a, b) {\r\n a = a.split('-')\r\n b = b.split('-')\r\n var pa = a[0].split('.')\r\n var pb = b[0].split('.')\r\n for (var i = 0; i < 3; i++) {\r\n var na = Number(pa[i])\r\n var nb = Number(pb[i])\r\n if (na > nb) return 1\r\n if (nb > na) return -1\r\n if (!isNaN(na) && isNaN(nb)) return 1\r\n if (isNaN(na) && !isNaN(nb)) return -1\r\n }\r\n if (a[1] && b[1]) {\r\n return a[1] > b[1] ? 1 : (a[1] < b[1] ? -1 : 0)\r\n }\r\n return !a[1] && b[1] ? 1 : (a[1] && !b[1] ? -1 : 0)\r\n}","import compare from './tools/semver-compare'\r\n\r\n// Added \"possibleLengths\" and renamed\r\n// \"country_phone_code_to_countries\" to \"country_calling_codes\".\r\nconst V2 = '1.0.18'\r\n\r\n// Added \"idd_prefix\" and \"default_idd_prefix\".\r\nconst V3 = '1.2.0'\r\n\r\n// Moved `001` country code to \"nonGeographic\" section of metadata.\r\nconst V4 = '1.7.35'\r\n\r\nconst DEFAULT_EXT_PREFIX = ' ext. '\r\n\r\nconst CALLING_CODE_REG_EXP = /^\\d+$/\r\n\r\n/**\r\n * See: https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md\r\n */\r\nexport default class Metadata {\r\n\tconstructor(metadata) {\r\n\t\tvalidateMetadata(metadata)\r\n\t\tthis.metadata = metadata\r\n\t\tsetVersion.call(this, metadata)\r\n\t}\r\n\r\n\tgetCountries() {\r\n\t\treturn Object.keys(this.metadata.countries).filter(_ => _ !== '001')\r\n\t}\r\n\r\n\tgetCountryMetadata(countryCode) {\r\n\t\treturn this.metadata.countries[countryCode]\r\n\t}\r\n\r\n\tnonGeographic() {\r\n\t\tif (this.v1 || this.v2 || this.v3) return\r\n\t\t// `nonGeographical` was a typo.\r\n\t\t// It's present in metadata generated from `1.7.35` to `1.7.37`.\r\n\t\treturn this.metadata.nonGeographic || this.metadata.nonGeographical\r\n\t}\r\n\r\n\thasCountry(country) {\r\n\t\treturn this.getCountryMetadata(country) !== undefined\r\n\t}\r\n\r\n\thasCallingCode(callingCode) {\r\n\t\tif (this.getCountryCodesForCallingCode(callingCode)) {\r\n\t\t\treturn true\r\n\t\t}\r\n\t\tif (this.nonGeographic()) {\r\n\t\t\tif (this.nonGeographic()[callingCode]) {\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// A hacky workaround for old custom metadata (generated before V4).\r\n\t\t\tconst countryCodes = this.countryCallingCodes()[callingCode]\r\n\t\t\tif (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tisNonGeographicCallingCode(callingCode) {\r\n\t\tif (this.nonGeographic()) {\r\n\t\t\treturn this.nonGeographic()[callingCode] ? true : false\r\n\t\t} else {\r\n\t\t\treturn this.getCountryCodesForCallingCode(callingCode) ? false : true\r\n\t\t}\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tcountry(countryCode) {\r\n\t\treturn this.selectNumberingPlan(countryCode)\r\n\t}\r\n\r\n\tselectNumberingPlan(countryCode, callingCode) {\r\n\t\t// Supports just passing `callingCode` as the first argument.\r\n\t\tif (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {\r\n\t\t\tcallingCode = countryCode\r\n\t\t\tcountryCode = null\r\n\t\t}\r\n\t\tif (countryCode && countryCode !== '001') {\r\n\t\t\tif (!this.hasCountry(countryCode)) {\r\n\t\t\t\tthrow new Error(`Unknown country: ${countryCode}`)\r\n\t\t\t}\r\n\t\t\tthis.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this)\r\n\t\t} else if (callingCode) {\r\n\t\t\tif (!this.hasCallingCode(callingCode)) {\r\n\t\t\t\tthrow new Error(`Unknown calling code: ${callingCode}`)\r\n\t\t\t}\r\n\t\t\tthis.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this)\r\n\t\t} else {\r\n\t\t\tthis.numberingPlan = undefined\r\n\t\t}\r\n\t\treturn this\r\n\t}\r\n\r\n\tgetCountryCodesForCallingCode(callingCode) {\r\n\t\tconst countryCodes = this.countryCallingCodes()[callingCode]\r\n\t\tif (countryCodes) {\r\n\t\t\t// Metadata before V4 included \"non-geographic entity\" calling codes\r\n\t\t\t// inside `country_calling_codes` (for example, `\"881\":[\"001\"]`).\r\n\t\t\t// Now the semantics of `country_calling_codes` has changed:\r\n\t\t\t// it's specifically for \"countries\" now.\r\n\t\t\t// Older versions of custom metadata will simply skip parsing\r\n\t\t\t// \"non-geographic entity\" phone numbers with new versions\r\n\t\t\t// of this library: it's not considered a bug,\r\n\t\t\t// because such numbers are extremely rare,\r\n\t\t\t// and developers extremely rarely use custom metadata.\r\n\t\t\tif (countryCodes.length === 1 && countryCodes[0].length === 3) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\treturn countryCodes\r\n\t\t}\r\n\t}\r\n\r\n\tgetCountryCodeForCallingCode(callingCode) {\r\n\t\tconst countryCodes = this.getCountryCodesForCallingCode(callingCode)\r\n\t\tif (countryCodes) {\r\n\t\t\treturn countryCodes[0]\r\n\t\t}\r\n\t}\r\n\r\n\tgetNumberingPlanMetadata(callingCode) {\r\n\t\tconst countryCode = this.getCountryCodeForCallingCode(callingCode)\r\n\t\tif (countryCode) {\r\n\t\t\treturn this.getCountryMetadata(countryCode)\r\n\t\t}\r\n\t\tif (this.nonGeographic()) {\r\n\t\t\tconst metadata = this.nonGeographic()[callingCode]\r\n\t\t\tif (metadata) {\r\n\t\t\t\treturn metadata\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// A hacky workaround for old custom metadata (generated before V4).\r\n\t\t\tconst countryCodes = this.countryCallingCodes()[callingCode]\r\n\t\t\tif (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\r\n\t\t\t\treturn this.metadata.countries['001']\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tcountryCallingCode() {\r\n\t\treturn this.numberingPlan.callingCode()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tIDDPrefix() {\r\n\t\treturn this.numberingPlan.IDDPrefix()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tdefaultIDDPrefix() {\r\n\t\treturn this.numberingPlan.defaultIDDPrefix()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tnationalNumberPattern() {\r\n\t\treturn this.numberingPlan.nationalNumberPattern()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tpossibleLengths() {\r\n\t\treturn this.numberingPlan.possibleLengths()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tformats() {\r\n\t\treturn this.numberingPlan.formats()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tnationalPrefixForParsing() {\r\n\t\treturn this.numberingPlan.nationalPrefixForParsing()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tnationalPrefixTransformRule() {\r\n\t\treturn this.numberingPlan.nationalPrefixTransformRule()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tleadingDigits() {\r\n\t\treturn this.numberingPlan.leadingDigits()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\thasTypes() {\r\n\t\treturn this.numberingPlan.hasTypes()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\ttype(type) {\r\n\t\treturn this.numberingPlan.type(type)\r\n\t}\r\n\r\n\t// Deprecated.\r\n\text() {\r\n\t\treturn this.numberingPlan.ext()\r\n\t}\r\n\r\n\tcountryCallingCodes() {\r\n\t\tif (this.v1) return this.metadata.country_phone_code_to_countries\r\n\t\treturn this.metadata.country_calling_codes\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tchooseCountryByCountryCallingCode(callingCode) {\r\n\t\treturn this.selectNumberingPlan(callingCode)\r\n\t}\r\n\r\n\thasSelectedNumberingPlan() {\r\n\t\treturn this.numberingPlan !== undefined\r\n\t}\r\n}\r\n\r\nclass NumberingPlan {\r\n\tconstructor(metadata, globalMetadataObject) {\r\n\t\tthis.globalMetadataObject = globalMetadataObject\r\n\t\tthis.metadata = metadata\r\n\t\tsetVersion.call(this, globalMetadataObject.metadata)\r\n\t}\r\n\r\n\tcallingCode() {\r\n\t\treturn this.metadata[0]\r\n\t}\r\n\r\n\t// Formatting information for regions which share\r\n\t// a country calling code is contained by only one region\r\n\t// for performance reasons. For example, for NANPA region\r\n\t// (\"North American Numbering Plan Administration\",\r\n\t// which includes USA, Canada, Cayman Islands, Bahamas, etc)\r\n\t// it will be contained in the metadata for `US`.\r\n\tgetDefaultCountryMetadataForRegion() {\r\n\t\treturn this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode())\r\n\t}\r\n\r\n\t// Is always present.\r\n\tIDDPrefix() {\r\n\t\tif (this.v1 || this.v2) return\r\n\t\treturn this.metadata[1]\r\n\t}\r\n\r\n\t// Is only present when a country supports multiple IDD prefixes.\r\n\tdefaultIDDPrefix() {\r\n\t\tif (this.v1 || this.v2) return\r\n\t\treturn this.metadata[12]\r\n\t}\r\n\r\n\tnationalNumberPattern() {\r\n\t\tif (this.v1 || this.v2) return this.metadata[1]\r\n\t\treturn this.metadata[2]\r\n\t}\r\n\r\n\t// Is always present.\r\n\tpossibleLengths() {\r\n\t\tif (this.v1) return\r\n\t\treturn this.metadata[this.v2 ? 2 : 3]\r\n\t}\r\n\r\n\t_getFormats(metadata) {\r\n\t\treturn metadata[this.v1 ? 2 : this.v2 ? 3 : 4]\r\n\t}\r\n\r\n\t// For countries of the same region (e.g. NANPA)\r\n\t// formats are all stored in the \"main\" country for that region.\r\n\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\r\n\tformats() {\r\n\t\tconst formats = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || []\r\n\t\treturn formats.map(_ => new Format(_, this))\r\n\t}\r\n\r\n\tnationalPrefix() {\r\n\t\treturn this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5]\r\n\t}\r\n\r\n\t_getNationalPrefixFormattingRule(metadata) {\r\n\t\treturn metadata[this.v1 ? 4 : this.v2 ? 5 : 6]\r\n\t}\r\n\r\n\t// For countries of the same region (e.g. NANPA)\r\n\t// national prefix formatting rule is stored in the \"main\" country for that region.\r\n\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\r\n\tnationalPrefixFormattingRule() {\r\n\t\treturn this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion())\r\n\t}\r\n\r\n\t_nationalPrefixForParsing() {\r\n\t\treturn this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7]\r\n\t}\r\n\r\n\tnationalPrefixForParsing() {\r\n\t\t// If `national_prefix_for_parsing` is not set explicitly,\r\n\t\t// then infer it from `national_prefix` (if any)\r\n\t\treturn this._nationalPrefixForParsing() || this.nationalPrefix()\r\n\t}\r\n\r\n\tnationalPrefixTransformRule() {\r\n\t\treturn this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8]\r\n\t}\r\n\r\n\t_getNationalPrefixIsOptionalWhenFormatting() {\r\n\t\treturn !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9]\r\n\t}\r\n\r\n\t// For countries of the same region (e.g. NANPA)\r\n\t// \"national prefix is optional when formatting\" flag is\r\n\t// stored in the \"main\" country for that region.\r\n\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\r\n\tnationalPrefixIsOptionalWhenFormattingInNationalFormat() {\r\n\t\treturn this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) ||\r\n\t\t\tthis._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion())\r\n\t}\r\n\r\n\tleadingDigits() {\r\n\t\treturn this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10]\r\n\t}\r\n\r\n\ttypes() {\r\n\t\treturn this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11]\r\n\t}\r\n\r\n\thasTypes() {\r\n\t\t// Versions 1.2.0 - 1.2.4: can be `[]`.\r\n\t\t/* istanbul ignore next */\r\n\t\tif (this.types() && this.types().length === 0) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\t// Versions <= 1.2.4: can be `undefined`.\r\n\t\t// Version >= 1.2.5: can be `0`.\r\n\t\treturn !!this.types()\r\n\t}\r\n\r\n\ttype(type) {\r\n\t\tif (this.hasTypes() && getType(this.types(), type)) {\r\n\t\t\treturn new Type(getType(this.types(), type), this)\r\n\t\t}\r\n\t}\r\n\r\n\text() {\r\n\t\tif (this.v1 || this.v2) return DEFAULT_EXT_PREFIX\r\n\t\treturn this.metadata[13] || DEFAULT_EXT_PREFIX\r\n\t}\r\n}\r\n\r\nclass Format {\r\n\tconstructor(format, metadata) {\r\n\t\tthis._format = format\r\n\t\tthis.metadata = metadata\r\n\t}\r\n\r\n\tpattern() {\r\n\t\treturn this._format[0]\r\n\t}\r\n\r\n\tformat() {\r\n\t\treturn this._format[1]\r\n\t}\r\n\r\n\tleadingDigitsPatterns() {\r\n\t\treturn this._format[2] || []\r\n\t}\r\n\r\n\tnationalPrefixFormattingRule() {\r\n\t\treturn this._format[3] || this.metadata.nationalPrefixFormattingRule()\r\n\t}\r\n\r\n\tnationalPrefixIsOptionalWhenFormattingInNationalFormat() {\r\n\t\treturn !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat()\r\n\t}\r\n\r\n\tnationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\r\n\t\t// National prefix is omitted if there's no national prefix formatting rule\r\n\t\t// set for this country, or when the national prefix formatting rule\r\n\t\t// contains no national prefix itself, or when this rule is set but\r\n\t\t// national prefix is optional for this phone number format\r\n\t\t// (and it is not enforced explicitly)\r\n\t\treturn this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat()\r\n\t}\r\n\r\n\t// Checks whether national prefix formatting rule contains national prefix.\r\n\tusesNationalPrefix() {\r\n\t\treturn this.nationalPrefixFormattingRule() &&\r\n\t\t\t// Check that national prefix formatting rule is not a \"dummy\" one.\r\n\t\t\t!FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule())\r\n\t\t\t// In compressed metadata, `this.nationalPrefixFormattingRule()` is `0`\r\n\t\t\t// when `national_prefix_formatting_rule` is not present.\r\n\t\t\t// So, `true` or `false` are returned explicitly here, so that\r\n\t\t\t// `0` number isn't returned.\r\n\t\t\t? true\r\n\t\t\t: false\r\n\t}\r\n\r\n\tinternationalFormat() {\r\n\t\treturn this._format[5] || this.format()\r\n\t}\r\n}\r\n\r\n/**\r\n * A pattern that is used to determine if the national prefix formatting rule\r\n * has the first group only, i.e., does not start with the national prefix.\r\n * Note that the pattern explicitly allows for unbalanced parentheses.\r\n */\r\nconst FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/\r\n\r\nclass Type {\r\n\tconstructor(type, metadata) {\r\n\t\tthis.type = type\r\n\t\tthis.metadata = metadata\r\n\t}\r\n\r\n\tpattern() {\r\n\t\tif (this.metadata.v1) return this.type\r\n\t\treturn this.type[0]\r\n\t}\r\n\r\n\tpossibleLengths() {\r\n\t\tif (this.metadata.v1) return\r\n\t\treturn this.type[1] || this.metadata.possibleLengths()\r\n\t}\r\n}\r\n\r\nfunction getType(types, type) {\r\n\tswitch (type) {\r\n\t\tcase 'FIXED_LINE':\r\n\t\t\treturn types[0]\r\n\t\tcase 'MOBILE':\r\n\t\t\treturn types[1]\r\n\t\tcase 'TOLL_FREE':\r\n\t\t\treturn types[2]\r\n\t\tcase 'PREMIUM_RATE':\r\n\t\t\treturn types[3]\r\n\t\tcase 'PERSONAL_NUMBER':\r\n\t\t\treturn types[4]\r\n\t\tcase 'VOICEMAIL':\r\n\t\t\treturn types[5]\r\n\t\tcase 'UAN':\r\n\t\t\treturn types[6]\r\n\t\tcase 'PAGER':\r\n\t\t\treturn types[7]\r\n\t\tcase 'VOIP':\r\n\t\t\treturn types[8]\r\n\t\tcase 'SHARED_COST':\r\n\t\t\treturn types[9]\r\n\t}\r\n}\r\n\r\nexport function validateMetadata(metadata) {\r\n\tif (!metadata) {\r\n\t\tthrow new Error('[libphonenumber-js] `metadata` argument not passed. Check your arguments.')\r\n\t}\r\n\r\n\t// `country_phone_code_to_countries` was renamed to\r\n\t// `country_calling_codes` in `1.0.18`.\r\n\tif (!is_object(metadata) || !is_object(metadata.countries)) {\r\n\t\tthrow new Error(`[libphonenumber-js] \\`metadata\\` argument was passed but it's not a valid metadata. Must be an object having \\`.countries\\` child object property. Got ${is_object(metadata) ? 'an object of shape: { ' + Object.keys(metadata).join(', ') + ' }' : 'a ' + type_of(metadata) + ': ' + metadata}.`)\r\n\t}\r\n}\r\n\r\n// Babel transforms `typeof` into some \"branches\"\r\n// so istanbul will show this as \"branch not covered\".\r\n/* istanbul ignore next */\r\nconst is_object = _ => typeof _ === 'object'\r\n\r\n// Babel transforms `typeof` into some \"branches\"\r\n// so istanbul will show this as \"branch not covered\".\r\n/* istanbul ignore next */\r\nconst type_of = _ => typeof _\r\n\r\n/**\r\n * Returns extension prefix for a country.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string?}\r\n * @example\r\n * // Returns \" ext. \"\r\n * getExtPrefix(\"US\")\r\n */\r\nexport function getExtPrefix(country, metadata) {\r\n\tmetadata = new Metadata(metadata)\r\n\tif (metadata.hasCountry(country)) {\r\n\t\treturn metadata.country(country).ext()\r\n\t}\r\n\treturn DEFAULT_EXT_PREFIX\r\n}\r\n\r\n/**\r\n * Returns \"country calling code\" for a country.\r\n * Throws an error if the country doesn't exist or isn't supported by this library.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string}\r\n * @example\r\n * // Returns \"44\"\r\n * getCountryCallingCode(\"GB\")\r\n */\r\nexport function getCountryCallingCode(country, metadata) {\r\n\tmetadata = new Metadata(metadata)\r\n\tif (metadata.hasCountry(country)) {\r\n\t\treturn metadata.country(country).countryCallingCode()\r\n\t}\r\n\tthrow new Error(`Unknown country: ${country}`)\r\n}\r\n\r\nexport function isSupportedCountry(country, metadata) {\r\n\t// metadata = new Metadata(metadata)\r\n\t// return metadata.hasCountry(country)\r\n\treturn metadata.countries[country] !== undefined\r\n}\r\n\r\nfunction setVersion(metadata) {\r\n\tconst { version } = metadata\r\n\tif (typeof version === 'number') {\r\n\t\tthis.v1 = version === 1\r\n\t\tthis.v2 = version === 2\r\n\t\tthis.v3 = version === 3\r\n\t\tthis.v4 = version === 4\r\n\t} else {\r\n\t\tif (!version) {\r\n\t\t\tthis.v1 = true\r\n\t\t} else if (compare(version, V3) === -1) {\r\n\t\t\tthis.v2 = true\r\n\t\t} else if (compare(version, V4) === -1) {\r\n\t\t\tthis.v3 = true\r\n\t\t} else {\r\n\t\t\tthis.v4 = true\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// const ISO_COUNTRY_CODE = /^[A-Z]{2}$/\r\n// function isCountryCode(countryCode) {\r\n// \treturn ISO_COUNTRY_CODE.test(countryCodeOrCountryCallingCode)\r\n// }","import { VALID_DIGITS } from '../../constants'\r\n\r\n// The RFC 3966 format for extensions.\r\nconst RFC3966_EXTN_PREFIX = ';ext='\r\n\r\n/**\r\n * Helper method for constructing regular expressions for parsing. Creates\r\n * an expression that captures up to max_length digits.\r\n * @return {string} RegEx pattern to capture extension digits.\r\n */\r\nconst getExtensionDigitsPattern = (maxLength) => `([${VALID_DIGITS}]{1,${maxLength}})`\r\n\r\n/**\r\n * Helper initialiser method to create the regular-expression pattern to match\r\n * extensions.\r\n * Copy-pasted from Google's `libphonenumber`:\r\n * https://github.com/google/libphonenumber/blob/55b2646ec9393f4d3d6661b9c82ef9e258e8b829/javascript/i18n/phonenumbers/phonenumberutil.js#L759-L766\r\n * @return {string} RegEx pattern to capture extensions.\r\n */\r\nexport default function createExtensionPattern(purpose) {\r\n\t// We cap the maximum length of an extension based on the ambiguity of the way\r\n\t// the extension is prefixed. As per ITU, the officially allowed length for\r\n\t// extensions is actually 40, but we don't support this since we haven't seen real\r\n\t// examples and this introduces many false interpretations as the extension labels\r\n\t// are not standardized.\r\n\t/** @type {string} */\r\n\tvar extLimitAfterExplicitLabel = '20';\r\n\t/** @type {string} */\r\n\tvar extLimitAfterLikelyLabel = '15';\r\n\t/** @type {string} */\r\n\tvar extLimitAfterAmbiguousChar = '9';\r\n\t/** @type {string} */\r\n\tvar extLimitWhenNotSure = '6';\r\n\r\n\t/** @type {string} */\r\n\tvar possibleSeparatorsBetweenNumberAndExtLabel = \"[ \\u00A0\\\\t,]*\";\r\n\t// Optional full stop (.) or colon, followed by zero or more spaces/tabs/commas.\r\n\t/** @type {string} */\r\n\tvar possibleCharsAfterExtLabel = \"[:\\\\.\\uFF0E]?[ \\u00A0\\\\t,-]*\";\r\n\t/** @type {string} */\r\n\tvar optionalExtnSuffix = \"#?\";\r\n\r\n\t// Here the extension is called out in more explicit way, i.e mentioning it obvious\r\n\t// patterns like \"ext.\".\r\n\t/** @type {string} */\r\n\tvar explicitExtLabels =\r\n\t \"(?:e?xt(?:ensi(?:o\\u0301?|\\u00F3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|\\u0434\\u043E\\u0431|anexo)\";\r\n\t// One-character symbols that can be used to indicate an extension, and less\r\n\t// commonly used or more ambiguous extension labels.\r\n\t/** @type {string} */\r\n\tvar ambiguousExtLabels = \"(?:[x\\uFF58#\\uFF03~\\uFF5E]|int|\\uFF49\\uFF4E\\uFF54)\";\r\n\t// When extension is not separated clearly.\r\n\t/** @type {string} */\r\n\tvar ambiguousSeparator = \"[- ]+\";\r\n\t// This is the same as possibleSeparatorsBetweenNumberAndExtLabel, but not matching\r\n\t// comma as extension label may have it.\r\n\t/** @type {string} */\r\n\tvar possibleSeparatorsNumberExtLabelNoComma = \"[ \\u00A0\\\\t]*\";\r\n\t// \",,\" is commonly used for auto dialling the extension when connected. First\r\n\t// comma is matched through possibleSeparatorsBetweenNumberAndExtLabel, so we do\r\n\t// not repeat it here. Semi-colon works in Iphone and Android also to pop up a\r\n\t// button with the extension number following.\r\n\t/** @type {string} */\r\n\tvar autoDiallingAndExtLabelsFound = \"(?:,{2}|;)\";\r\n\r\n\t/** @type {string} */\r\n\tvar rfcExtn = RFC3966_EXTN_PREFIX\r\n\t + getExtensionDigitsPattern(extLimitAfterExplicitLabel);\r\n\t/** @type {string} */\r\n\tvar explicitExtn = possibleSeparatorsBetweenNumberAndExtLabel + explicitExtLabels\r\n\t + possibleCharsAfterExtLabel\r\n\t + getExtensionDigitsPattern(extLimitAfterExplicitLabel)\r\n\t + optionalExtnSuffix;\r\n\t/** @type {string} */\r\n\tvar ambiguousExtn = possibleSeparatorsBetweenNumberAndExtLabel + ambiguousExtLabels\r\n\t + possibleCharsAfterExtLabel\r\n\t+ getExtensionDigitsPattern(extLimitAfterAmbiguousChar)\r\n\t+ optionalExtnSuffix;\r\n\t/** @type {string} */\r\n\tvar americanStyleExtnWithSuffix = ambiguousSeparator\r\n\t+ getExtensionDigitsPattern(extLimitWhenNotSure) + \"#\";\r\n\r\n\t/** @type {string} */\r\n\tvar autoDiallingExtn = possibleSeparatorsNumberExtLabelNoComma\r\n\t + autoDiallingAndExtLabelsFound + possibleCharsAfterExtLabel\r\n\t + getExtensionDigitsPattern(extLimitAfterLikelyLabel)\r\n\t+ optionalExtnSuffix;\r\n\t/** @type {string} */\r\n\tvar onlyCommasExtn = possibleSeparatorsNumberExtLabelNoComma\r\n\t + \"(?:,)+\" + possibleCharsAfterExtLabel\r\n\t + getExtensionDigitsPattern(extLimitAfterAmbiguousChar)\r\n\t + optionalExtnSuffix;\r\n\r\n\t// The first regular expression covers RFC 3966 format, where the extension is added\r\n\t// using \";ext=\". The second more generic where extension is mentioned with explicit\r\n\t// labels like \"ext:\". In both the above cases we allow more numbers in extension than\r\n\t// any other extension labels. The third one captures when single character extension\r\n\t// labels or less commonly used labels are used. In such cases we capture fewer\r\n\t// extension digits in order to reduce the chance of falsely interpreting two\r\n\t// numbers beside each other as a number + extension. The fourth one covers the\r\n\t// special case of American numbers where the extension is written with a hash\r\n\t// at the end, such as \"- 503#\". The fifth one is exclusively for extension\r\n\t// autodialling formats which are used when dialling and in this case we accept longer\r\n\t// extensions. The last one is more liberal on the number of commas that acts as\r\n\t// extension labels, so we have a strict cap on the number of digits in such extensions.\r\n\treturn rfcExtn + \"|\"\r\n\t + explicitExtn + \"|\"\r\n\t + ambiguousExtn + \"|\"\r\n\t + americanStyleExtnWithSuffix + \"|\"\r\n\t + autoDiallingExtn + \"|\"\r\n\t + onlyCommasExtn;\r\n}","import {\r\n\tMIN_LENGTH_FOR_NSN,\r\n\tVALID_DIGITS,\r\n\tVALID_PUNCTUATION,\r\n\tPLUS_CHARS\r\n} from '../constants'\r\n\r\nimport createExtensionPattern from './extension/createExtensionPattern'\r\n\r\n// Regular expression of viable phone numbers. This is location independent.\r\n// Checks we have at least three leading digits, and only valid punctuation,\r\n// alpha characters and digits in the phone number. Does not include extension\r\n// data. The symbol 'x' is allowed here as valid punctuation since it is often\r\n// used as a placeholder for carrier codes, for example in Brazilian phone\r\n// numbers. We also allow multiple '+' characters at the start.\r\n//\r\n// Corresponds to the following:\r\n// [digits]{minLengthNsn}|\r\n// plus_sign*\r\n// (([punctuation]|[star])*[digits]){3,}([punctuation]|[star]|[digits]|[alpha])*\r\n//\r\n// The first reg-ex is to allow short numbers (two digits long) to be parsed if\r\n// they are entered as \"15\" etc, but only if there is no punctuation in them.\r\n// The second expression restricts the number of digits to three or more, but\r\n// then allows them to be in international form, and to have alpha-characters\r\n// and punctuation. We split up the two reg-exes here and combine them when\r\n// creating the reg-ex VALID_PHONE_NUMBER_PATTERN itself so we can prefix it\r\n// with ^ and append $ to each branch.\r\n//\r\n// \"Note VALID_PUNCTUATION starts with a -,\r\n// so must be the first in the range\" (c) Google devs.\r\n// (wtf did they mean by saying that; probably nothing)\r\n//\r\nconst MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' + VALID_DIGITS + ']{' + MIN_LENGTH_FOR_NSN + '}'\r\n//\r\n// And this is the second reg-exp:\r\n// (see MIN_LENGTH_PHONE_NUMBER_PATTERN for a full description of this reg-exp)\r\n//\r\nexport const VALID_PHONE_NUMBER =\r\n\t'[' + PLUS_CHARS + ']{0,1}' +\r\n\t'(?:' +\r\n\t\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t\t'[' + VALID_DIGITS + ']' +\r\n\t'){3,}' +\r\n\t'[' +\r\n\t\tVALID_PUNCTUATION +\r\n\t\tVALID_DIGITS +\r\n\t']*'\r\n\r\n// This regular expression isn't present in Google's `libphonenumber`\r\n// and is only used to determine whether the phone number being input\r\n// is too short for it to even consider it a \"valid\" number.\r\n// This is just a way to differentiate between a really invalid phone\r\n// number like \"abcde\" and a valid phone number that a user has just\r\n// started inputting, like \"+1\" or \"1\": both these cases would be\r\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\r\n// library can provide a more detailed error message — whether it's\r\n// really \"not a number\", or is it just a start of a valid phone number.\r\nconst VALID_PHONE_NUMBER_START_REG_EXP = new RegExp(\r\n\t'^' +\r\n\t'[' + PLUS_CHARS + ']{0,1}' +\r\n\t'(?:' +\r\n\t\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t\t'[' + VALID_DIGITS + ']' +\r\n\t'){1,2}' +\r\n\t'$'\r\n, 'i')\r\n\r\nexport const VALID_PHONE_NUMBER_WITH_EXTENSION =\r\n\tVALID_PHONE_NUMBER +\r\n\t// Phone number extensions\r\n\t'(?:' + createExtensionPattern() + ')?'\r\n\r\n// The combined regular expression for valid phone numbers:\r\n//\r\nconst VALID_PHONE_NUMBER_PATTERN = new RegExp(\r\n\t// Either a short two-digit-only phone number\r\n\t'^' +\r\n\t\tMIN_LENGTH_PHONE_NUMBER_PATTERN +\r\n\t'$' +\r\n\t'|' +\r\n\t// Or a longer fully parsed phone number (min 3 characters)\r\n\t'^' +\r\n\t\tVALID_PHONE_NUMBER_WITH_EXTENSION +\r\n\t'$'\r\n, 'i')\r\n\r\n// Checks to see if the string of characters could possibly be a phone number at\r\n// all. At the moment, checks to see that the string begins with at least 2\r\n// digits, ignoring any punctuation commonly found in phone numbers. This method\r\n// does not require the number to be normalized in advance - but does assume\r\n// that leading non-number symbols have been removed, such as by the method\r\n// `extract_possible_number`.\r\n//\r\nexport default function isViablePhoneNumber(number) {\r\n\treturn number.length >= MIN_LENGTH_FOR_NSN &&\r\n\t\tVALID_PHONE_NUMBER_PATTERN.test(number)\r\n}\r\n\r\n// This is just a way to differentiate between a really invalid phone\r\n// number like \"abcde\" and a valid phone number that a user has just\r\n// started inputting, like \"+1\" or \"1\": both these cases would be\r\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\r\n// library can provide a more detailed error message — whether it's\r\n// really \"not a number\", or is it just a start of a valid phone number.\r\nexport function isViablePhoneNumberStart(number) {\r\n\treturn VALID_PHONE_NUMBER_START_REG_EXP.test(number)\r\n}","import createExtensionPattern from './createExtensionPattern'\r\n\r\n// Regexp of all known extension prefixes used by different regions followed by\r\n// 1 or more valid digits, for use when parsing.\r\nconst EXTN_PATTERN = new RegExp('(?:' + createExtensionPattern() + ')$', 'i')\r\n\r\n// Strips any extension (as in, the part of the number dialled after the call is\r\n// connected, usually indicated with extn, ext, x or similar) from the end of\r\n// the number, and returns it.\r\nexport default function extractExtension(number) {\r\n\tconst start = number.search(EXTN_PATTERN)\r\n\tif (start < 0) {\r\n\t\treturn {}\r\n\t}\r\n\t// If we find a potential extension, and the number preceding this is a viable\r\n\t// number, we assume it is an extension.\r\n\tconst numberWithoutExtension = number.slice(0, start)\r\n\tconst matches = number.match(EXTN_PATTERN)\r\n\tlet i = 1\r\n\twhile (i < matches.length) {\r\n\t\tif (matches[i]) {\r\n\t\t\treturn {\r\n\t\t\t\tnumber: numberWithoutExtension,\r\n\t\t\t\text: matches[i]\r\n\t\t\t}\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n}","// These mappings map a character (key) to a specific digit that should\r\n// replace it for normalization purposes. Non-European digits that\r\n// may be used in phone numbers are mapped to a European equivalent.\r\n//\r\n// E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n//\r\nexport const DIGITS = {\r\n\t'0': '0',\r\n\t'1': '1',\r\n\t'2': '2',\r\n\t'3': '3',\r\n\t'4': '4',\r\n\t'5': '5',\r\n\t'6': '6',\r\n\t'7': '7',\r\n\t'8': '8',\r\n\t'9': '9',\r\n\t'\\uFF10': '0', // Fullwidth digit 0\r\n\t'\\uFF11': '1', // Fullwidth digit 1\r\n\t'\\uFF12': '2', // Fullwidth digit 2\r\n\t'\\uFF13': '3', // Fullwidth digit 3\r\n\t'\\uFF14': '4', // Fullwidth digit 4\r\n\t'\\uFF15': '5', // Fullwidth digit 5\r\n\t'\\uFF16': '6', // Fullwidth digit 6\r\n\t'\\uFF17': '7', // Fullwidth digit 7\r\n\t'\\uFF18': '8', // Fullwidth digit 8\r\n\t'\\uFF19': '9', // Fullwidth digit 9\r\n\t'\\u0660': '0', // Arabic-indic digit 0\r\n\t'\\u0661': '1', // Arabic-indic digit 1\r\n\t'\\u0662': '2', // Arabic-indic digit 2\r\n\t'\\u0663': '3', // Arabic-indic digit 3\r\n\t'\\u0664': '4', // Arabic-indic digit 4\r\n\t'\\u0665': '5', // Arabic-indic digit 5\r\n\t'\\u0666': '6', // Arabic-indic digit 6\r\n\t'\\u0667': '7', // Arabic-indic digit 7\r\n\t'\\u0668': '8', // Arabic-indic digit 8\r\n\t'\\u0669': '9', // Arabic-indic digit 9\r\n\t'\\u06F0': '0', // Eastern-Arabic digit 0\r\n\t'\\u06F1': '1', // Eastern-Arabic digit 1\r\n\t'\\u06F2': '2', // Eastern-Arabic digit 2\r\n\t'\\u06F3': '3', // Eastern-Arabic digit 3\r\n\t'\\u06F4': '4', // Eastern-Arabic digit 4\r\n\t'\\u06F5': '5', // Eastern-Arabic digit 5\r\n\t'\\u06F6': '6', // Eastern-Arabic digit 6\r\n\t'\\u06F7': '7', // Eastern-Arabic digit 7\r\n\t'\\u06F8': '8', // Eastern-Arabic digit 8\r\n\t'\\u06F9': '9' // Eastern-Arabic digit 9\r\n}\r\n\r\nexport function parseDigit(character) {\r\n\treturn DIGITS[character]\r\n}\r\n\r\n/**\r\n * Parses phone number digits from a string.\r\n * Drops all punctuation leaving only digits.\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * parseDigits('8 (800) 555')\r\n * // Outputs '8800555'.\r\n * ```\r\n */\r\nexport default function parseDigits(string) {\r\n\tlet result = ''\r\n\t// Using `.split('')` here instead of normal `for ... of`\r\n\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t// (the ones consisting of four bytes) but digits\r\n\t// (including non-European ones) don't fall into that range\r\n\t// so such \"exotic\" characters would be discarded anyway.\r\n\tfor (const character of string.split('')) {\r\n\t\tconst digit = parseDigit(character)\r\n\t\tif (digit) {\r\n\t\t\tresult += digit\r\n\t\t}\r\n\t}\r\n\treturn result\r\n}","import { parseDigit } from './helpers/parseDigits'\r\n\r\n/**\r\n * Parses phone number characters from a string.\r\n * Drops all punctuation leaving only digits and the leading `+` sign (if any).\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * // Outputs '8800555'.\r\n * parseIncompletePhoneNumber('8 (800) 555')\r\n * // Outputs '+7800555'.\r\n * parseIncompletePhoneNumber('+7 800 555')\r\n * ```\r\n */\r\nexport default function parseIncompletePhoneNumber(string) {\r\n\tlet result = ''\r\n\t// Using `.split('')` here instead of normal `for ... of`\r\n\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t// (the ones consisting of four bytes) but digits\r\n\t// (including non-European ones) don't fall into that range\r\n\t// so such \"exotic\" characters would be discarded anyway.\r\n\tfor (const character of string.split('')) {\r\n\t\tresult += parsePhoneNumberCharacter(character, result) || ''\r\n\t}\r\n\treturn result\r\n}\r\n\r\n/**\r\n * Parses next character while parsing phone number digits (including a `+`)\r\n * from text: discards everything except `+` and digits, and `+` is only allowed\r\n * at the start of a phone number.\r\n * For example, is used in `react-phone-number-input` where it uses\r\n * [`input-format`](https://gitlab.com/catamphetamine/input-format).\r\n * @param {string} character - Yet another character from raw input string.\r\n * @param {string?} prevParsedCharacters - Previous parsed characters.\r\n * @param {object} meta - Optional custom use-case-specific metadata.\r\n * @return {string?} The parsed character.\r\n */\r\nexport function parsePhoneNumberCharacter(character, prevParsedCharacters) {\r\n\t// Only allow a leading `+`.\r\n\tif (character === '+') {\r\n\t\t// If this `+` is not the first parsed character\r\n\t\t// then discard it.\r\n\t\tif (prevParsedCharacters) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\treturn '+'\r\n\t}\r\n\t// Allow digits.\r\n\treturn parseDigit(character)\r\n}","import mergeArrays from './mergeArrays'\r\n\r\nexport default function checkNumberLength(nationalNumber, metadata) {\r\n\treturn checkNumberLengthForType(nationalNumber, undefined, metadata)\r\n}\r\n\r\n// Checks whether a number is possible for the country based on its length.\r\n// Should only be called for the \"new\" metadata which has \"possible lengths\".\r\nexport function checkNumberLengthForType(nationalNumber, type, metadata) {\r\n\tconst type_info = metadata.type(type)\r\n\r\n\t// There should always be \"\" set for every type element.\r\n\t// This is declared in the XML schema.\r\n\t// For size efficiency, where a sub-description (e.g. fixed-line)\r\n\t// has the same \"\" as the \"general description\", this is missing,\r\n\t// so we fall back to the \"general description\". Where no numbers of the type\r\n\t// exist at all, there is one possible length (-1) which is guaranteed\r\n\t// not to match the length of any real phone number.\r\n\tlet possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths()\r\n\t// let local_lengths = type_info && type.possibleLengthsLocal() || metadata.possibleLengthsLocal()\r\n\r\n\t// Metadata before version `1.0.18` didn't contain `possible_lengths`.\r\n\tif (!possible_lengths) {\r\n\t\treturn 'IS_POSSIBLE'\r\n\t}\r\n\r\n\tif (type === 'FIXED_LINE_OR_MOBILE') {\r\n\t\t// No such country in metadata.\r\n\t\t/* istanbul ignore next */\r\n\t\tif (!metadata.type('FIXED_LINE')) {\r\n\t\t\t// The rare case has been encountered where no fixedLine data is available\r\n\t\t\t// (true for some non-geographic entities), so we just check mobile.\r\n\t\t\treturn checkNumberLengthForType(nationalNumber, 'MOBILE', metadata)\r\n\t\t}\r\n\r\n\t\tconst mobile_type = metadata.type('MOBILE')\r\n\t\tif (mobile_type) {\r\n\t\t\t// Merge the mobile data in if there was any. \"Concat\" creates a new\r\n\t\t\t// array, it doesn't edit possible_lengths in place, so we don't need a copy.\r\n\t\t\t// Note that when adding the possible lengths from mobile, we have\r\n\t\t\t// to again check they aren't empty since if they are this indicates\r\n\t\t\t// they are the same as the general desc and should be obtained from there.\r\n\t\t\tpossible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths())\r\n\t\t\t// The current list is sorted; we need to merge in the new list and\r\n\t\t\t// re-sort (duplicates are okay). Sorting isn't so expensive because\r\n\t\t\t// the lists are very small.\r\n\r\n\t\t\t// if (local_lengths) {\r\n\t\t\t// \tlocal_lengths = mergeArrays(local_lengths, mobile_type.possibleLengthsLocal())\r\n\t\t\t// } else {\r\n\t\t\t// \tlocal_lengths = mobile_type.possibleLengthsLocal()\r\n\t\t\t// }\r\n\t\t}\r\n\t}\r\n\t// If the type doesn't exist then return 'INVALID_LENGTH'.\r\n\telse if (type && !type_info) {\r\n\t\treturn 'INVALID_LENGTH'\r\n\t}\r\n\r\n\tconst actual_length = nationalNumber.length\r\n\r\n\t// In `libphonenumber-js` all \"local-only\" formats are dropped for simplicity.\r\n\t// // This is safe because there is never an overlap beween the possible lengths\r\n\t// // and the local-only lengths; this is checked at build time.\r\n\t// if (local_lengths && local_lengths.indexOf(nationalNumber.length) >= 0)\r\n\t// {\r\n\t// \treturn 'IS_POSSIBLE_LOCAL_ONLY'\r\n\t// }\r\n\r\n\tconst minimum_length = possible_lengths[0]\r\n\r\n\tif (minimum_length === actual_length) {\r\n\t\treturn 'IS_POSSIBLE'\r\n\t}\r\n\r\n\tif (minimum_length > actual_length) {\r\n\t\treturn 'TOO_SHORT'\r\n\t}\r\n\r\n\tif (possible_lengths[possible_lengths.length - 1] < actual_length) {\r\n\t\treturn 'TOO_LONG'\r\n\t}\r\n\r\n\t// We skip the first element since we've already checked it.\r\n\treturn possible_lengths.indexOf(actual_length, 1) >= 0 ? 'IS_POSSIBLE' : 'INVALID_LENGTH'\r\n}","/**\r\n * Merges two arrays.\r\n * @param {*} a\r\n * @param {*} b\r\n * @return {*}\r\n */\r\nexport default function mergeArrays(a, b) {\r\n\tconst merged = a.slice()\r\n\r\n\tfor (const element of b) {\r\n\t\tif (a.indexOf(element) < 0) {\r\n\t\t\tmerged.push(element)\r\n\t\t}\r\n\t}\r\n\r\n\treturn merged.sort((a, b) => a - b)\r\n\r\n\t// ES6 version, requires Set polyfill.\r\n\t// let merged = new Set(a)\r\n\t// for (const element of b) {\r\n\t// \tmerged.add(i)\r\n\t// }\r\n\t// return Array.from(merged).sort((a, b) => a - b)\r\n}","import Metadata from './metadata'\r\nimport checkNumberLength from './helpers/checkNumberLength'\r\n\r\nexport default function isPossiblePhoneNumber(input, options, metadata) {\r\n\t/* istanbul ignore if */\r\n\tif (options === undefined) {\r\n\t\toptions = {}\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tif (options.v2) {\r\n\t\tif (!input.countryCallingCode) {\r\n\t\t\tthrow new Error('Invalid phone number object passed')\r\n\t\t}\r\n\t\tmetadata.selectNumberingPlan(input.countryCallingCode)\r\n\t} else {\r\n\t\tif (!input.phone) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\tif (input.country) {\r\n\t\t\tif (!metadata.hasCountry(input.country)) {\r\n\t\t\t\tthrow new Error(`Unknown country: ${input.country}`)\r\n\t\t\t}\r\n\t\t\tmetadata.country(input.country)\r\n\t\t} else {\r\n\t\t\tif (!input.countryCallingCode) {\r\n\t\t\t\tthrow new Error('Invalid phone number object passed')\r\n\t\t\t}\r\n\t\t\tmetadata.selectNumberingPlan(input.countryCallingCode)\r\n\t\t}\r\n\t}\r\n\r\n\tif (metadata.possibleLengths()) {\r\n\t\treturn isPossibleNumber(input.phone || input.nationalNumber, metadata)\r\n\t} else {\r\n\t\t// There was a bug between `1.7.35` and `1.7.37` where \"possible_lengths\"\r\n\t\t// were missing for \"non-geographical\" numbering plans.\r\n\t\t// Just assume the number is possible in such cases:\r\n\t\t// it's unlikely that anyone generated their custom metadata\r\n\t\t// in that short period of time (one day).\r\n\t\t// This code can be removed in some future major version update.\r\n\t\tif (input.countryCallingCode && metadata.isNonGeographicCallingCode(input.countryCallingCode)) {\r\n\t\t\t// \"Non-geographic entities\" did't have `possibleLengths`\r\n\t\t\t// due to a bug in metadata generation process.\r\n\t\t\treturn true\r\n\t\t} else {\r\n\t\t\tthrow new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function isPossibleNumber(nationalNumber, metadata) { //, isInternational) {\r\n\tswitch (checkNumberLength(nationalNumber, metadata)) {\r\n\t\tcase 'IS_POSSIBLE':\r\n\t\t\treturn true\r\n\t\t// This library ignores \"local-only\" phone numbers (for simplicity).\r\n\t\t// See the readme for more info on what are \"local-only\" phone numbers.\r\n\t\t// case 'IS_POSSIBLE_LOCAL_ONLY':\r\n\t\t// \treturn !isInternational\r\n\t\tdefault:\r\n\t\t\treturn false\r\n\t}\r\n}","/**\r\n * Checks whether the entire input sequence can be matched\r\n * against the regular expression.\r\n * @return {boolean}\r\n */\r\nexport default function matchesEntirely(text, regular_expression) {\r\n\t// If assigning the `''` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\ttext = text || ''\r\n\treturn new RegExp('^(?:' + regular_expression + ')$').test(text)\r\n}","import Metadata from '../metadata'\r\nimport matchesEntirely from './matchesEntirely'\r\n\r\nconst NON_FIXED_LINE_PHONE_TYPES = [\r\n\t'MOBILE',\r\n\t'PREMIUM_RATE',\r\n\t'TOLL_FREE',\r\n\t'SHARED_COST',\r\n\t'VOIP',\r\n\t'PERSONAL_NUMBER',\r\n\t'PAGER',\r\n\t'UAN',\r\n\t'VOICEMAIL'\r\n]\r\n\r\n// Finds out national phone number type (fixed line, mobile, etc)\r\nexport default function getNumberType(input, options, metadata)\r\n{\r\n\t// If assigning the `{}` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\toptions = options || {}\r\n\r\n\t// When `parse()` returned `{}`\r\n\t// meaning that the phone number is not a valid one.\r\n\tif (!input.country) {\r\n\t\treturn\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tmetadata.selectNumberingPlan(input.country, input.countryCallingCode)\r\n\r\n\tconst nationalNumber = options.v2 ? input.nationalNumber : input.phone\r\n\r\n\t// The following is copy-pasted from the original function:\r\n\t// https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\r\n\r\n\t// Is this national number even valid for this country\r\n\tif (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())) {\r\n\t\treturn\r\n\t}\r\n\r\n\t// Is it fixed line number\r\n\tif (isNumberTypeEqualTo(nationalNumber, 'FIXED_LINE', metadata)) {\r\n\t\t// Because duplicate regular expressions are removed\r\n\t\t// to reduce metadata size, if \"mobile\" pattern is \"\"\r\n\t\t// then it means it was removed due to being a duplicate of the fixed-line pattern.\r\n\t\t//\r\n\t\tif (metadata.type('MOBILE') && metadata.type('MOBILE').pattern() === '') {\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE'\r\n\t\t}\r\n\r\n\t\t// v1 metadata.\r\n\t\t// Legacy.\r\n\t\t// Deprecated.\r\n\t\tif (!metadata.type('MOBILE')) {\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE'\r\n\t\t}\r\n\r\n\t\t// Check if the number happens to qualify as both fixed line and mobile.\r\n\t\t// (no such country in the minimal metadata set)\r\n\t\t/* istanbul ignore if */\r\n\t\tif (isNumberTypeEqualTo(nationalNumber, 'MOBILE', metadata)) {\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE'\r\n\t\t}\r\n\r\n\t\treturn 'FIXED_LINE'\r\n\t}\r\n\r\n\tfor (const type of NON_FIXED_LINE_PHONE_TYPES) {\r\n\t\tif (isNumberTypeEqualTo(nationalNumber, type, metadata)) {\r\n\t\t\treturn type\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function isNumberTypeEqualTo(nationalNumber, type, metadata) {\r\n\ttype = metadata.type(type)\r\n\tif (!type || !type.pattern()) {\r\n\t\treturn false\r\n\t}\r\n\t// Check if any possible number lengths are present;\r\n\t// if so, we use them to avoid checking\r\n\t// the validation pattern if they don't match.\r\n\t// If they are absent, this means they match\r\n\t// the general description, which we have\r\n\t// already checked before a specific number type.\r\n\tif (type.possibleLengths() &&\r\n\t\ttype.possibleLengths().indexOf(nationalNumber.length) < 0) {\r\n\t\treturn false\r\n\t}\r\n\treturn matchesEntirely(nationalNumber, type.pattern())\r\n}","import { VALID_PUNCTUATION } from '../constants'\r\n\r\n// Removes brackets and replaces dashes with spaces.\r\n//\r\n// E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\r\n//\r\n// For some reason Google's metadata contains ``s with brackets and dashes.\r\n// Meanwhile, there's no single opinion about using punctuation in international phone numbers.\r\n//\r\n// For example, Google's `` for USA is `+1 213-373-4253`.\r\n// And here's a quote from WikiPedia's \"North American Numbering Plan\" page:\r\n// https://en.wikipedia.org/wiki/North_American_Numbering_Plan\r\n//\r\n// \"The country calling code for all countries participating in the NANP is 1.\r\n// In international format, an NANP number should be listed as +1 301 555 01 00,\r\n// where 301 is an area code (Maryland).\"\r\n//\r\n// I personally prefer the international format without any punctuation.\r\n// For example, brackets are remnants of the old age, meaning that the\r\n// phone number part in brackets (so called \"area code\") can be omitted\r\n// if dialing within the same \"area\".\r\n// And hyphens were clearly introduced for splitting local numbers into memorizable groups.\r\n// For example, remembering \"5553535\" is difficult but \"555-35-35\" is much simpler.\r\n// Imagine a man taking a bus from home to work and seeing an ad with a phone number.\r\n// He has a couple of seconds to memorize that number until it passes by.\r\n// If it were spaces instead of hyphens the man wouldn't necessarily get it,\r\n// but with hyphens instead of spaces the grouping is more explicit.\r\n// I personally think that hyphens introduce visual clutter,\r\n// so I prefer replacing them with spaces in international numbers.\r\n// In the modern age all output is done on displays where spaces are clearly distinguishable\r\n// so hyphens can be safely replaced with spaces without losing any legibility.\r\n//\r\nexport default function applyInternationalSeparatorStyle(formattedNumber) {\r\n\treturn formattedNumber.replace(new RegExp(`[${VALID_PUNCTUATION}]+`, 'g'), ' ').trim()\r\n}","import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle'\r\n\r\n// This was originally set to $1 but there are some countries for which the\r\n// first group is not used in the national pattern (e.g. Argentina) so the $1\r\n// group does not match correctly. Therefore, we use `\\d`, so that the first\r\n// group actually used in the pattern will be matched.\r\nexport const FIRST_GROUP_PATTERN = /(\\$\\d)/\r\n\r\nexport default function formatNationalNumberUsingFormat(\r\n\tnumber,\r\n\tformat,\r\n\t{\r\n\t\tuseInternationalFormat,\r\n\t\twithNationalPrefix,\r\n\t\tcarrierCode,\r\n\t\tmetadata\r\n\t}\r\n) {\r\n\tconst formattedNumber = number.replace(\r\n\t\tnew RegExp(format.pattern()),\r\n\t\tuseInternationalFormat\r\n\t\t\t? format.internationalFormat()\r\n\t\t\t: (\r\n\t\t\t\t// This library doesn't use `domestic_carrier_code_formatting_rule`,\r\n\t\t\t\t// because that one is only used when formatting phone numbers\r\n\t\t\t\t// for dialing from a mobile phone, and this is not a dialing library.\r\n\t\t\t\t// carrierCode && format.domesticCarrierCodeFormattingRule()\r\n\t\t\t\t// \t// First, replace the $CC in the formatting rule with the desired carrier code.\r\n\t\t\t\t// \t// Then, replace the $FG in the formatting rule with the first group\r\n\t\t\t\t// \t// and the carrier code combined in the appropriate way.\r\n\t\t\t\t// \t? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))\r\n\t\t\t\t// \t: (\r\n\t\t\t\t// \t\twithNationalPrefix && format.nationalPrefixFormattingRule()\r\n\t\t\t\t// \t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\r\n\t\t\t\t// \t\t\t: format.format()\r\n\t\t\t\t// \t)\r\n\t\t\t\twithNationalPrefix && format.nationalPrefixFormattingRule()\r\n\t\t\t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\r\n\t\t\t\t\t: format.format()\r\n\t\t\t)\r\n\t)\r\n\tif (useInternationalFormat) {\r\n\t\treturn applyInternationalSeparatorStyle(formattedNumber)\r\n\t}\r\n\treturn formattedNumber\r\n}","import Metadata from '../metadata'\r\n\r\n/**\r\n * Pattern that makes it easy to distinguish whether a region has a single\r\n * international dialing prefix or not. If a region has a single international\r\n * prefix (e.g. 011 in USA), it will be represented as a string that contains\r\n * a sequence of ASCII digits, and possibly a tilde, which signals waiting for\r\n * the tone. If there are multiple available international prefixes in a\r\n * region, they will be represented as a regex string that always contains one\r\n * or more characters that are not ASCII digits or a tilde.\r\n */\r\nconst SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/\r\n\r\n// For regions that have multiple IDD prefixes\r\n// a preferred IDD prefix is returned.\r\nexport default function getIddPrefix(country, callingCode, metadata) {\r\n\tconst countryMetadata = new Metadata(metadata)\r\n\tcountryMetadata.selectNumberingPlan(country, callingCode)\r\n\tif (countryMetadata.defaultIDDPrefix()) {\r\n\t\treturn countryMetadata.defaultIDDPrefix()\r\n\t}\r\n\tif (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\r\n\t\treturn countryMetadata.IDDPrefix()\r\n\t}\r\n}\r\n","// This is a port of Google Android `libphonenumber`'s\r\n// `phonenumberutil.js` of December 31th, 2018.\r\n//\r\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\r\n\r\nimport matchesEntirely from './helpers/matchesEntirely'\r\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat'\r\nimport Metadata, { getCountryCallingCode } from './metadata'\r\nimport getIddPrefix from './helpers/getIddPrefix'\r\nimport { formatRFC3966 } from './helpers/RFC3966'\r\n\r\nconst DEFAULT_OPTIONS = {\r\n\tformatExtension: (formattedNumber, extension, metadata) => `${formattedNumber}${metadata.ext()}${extension}`\r\n}\r\n\r\n// Formats a phone number\r\n//\r\n// Example use cases:\r\n//\r\n// ```js\r\n// formatNumber('8005553535', 'RU', 'INTERNATIONAL')\r\n// formatNumber('8005553535', 'RU', 'INTERNATIONAL', metadata)\r\n// formatNumber({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL')\r\n// formatNumber({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', metadata)\r\n// formatNumber('+78005553535', 'NATIONAL')\r\n// formatNumber('+78005553535', 'NATIONAL', metadata)\r\n// ```\r\n//\r\nexport default function formatNumber(input, format, options, metadata) {\r\n\t// Apply default options.\r\n\tif (options) {\r\n\t\toptions = { ...DEFAULT_OPTIONS, ...options }\r\n\t} else {\r\n\t\toptions = DEFAULT_OPTIONS\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tif (input.country && input.country !== '001') {\r\n\t\t// Validate `input.country`.\r\n\t\tif (!metadata.hasCountry(input.country)) {\r\n\t\t\tthrow new Error(`Unknown country: ${input.country}`)\r\n\t\t}\r\n\t\tmetadata.country(input.country)\r\n\t}\r\n\telse if (input.countryCallingCode) {\r\n\t\tmetadata.selectNumberingPlan(input.countryCallingCode)\r\n\t}\r\n\telse return input.phone || ''\r\n\r\n\tconst countryCallingCode = metadata.countryCallingCode()\r\n\r\n\tconst nationalNumber = options.v2 ? input.nationalNumber : input.phone\r\n\r\n\t// This variable should have been declared inside `case`s\r\n\t// but Babel has a bug and it says \"duplicate variable declaration\".\r\n\tlet number\r\n\r\n\tswitch (format) {\r\n\t\tcase 'NATIONAL':\r\n\t\t\t// Legacy argument support.\r\n\t\t\t// (`{ country: ..., phone: '' }`)\r\n\t\t\tif (!nationalNumber) {\r\n\t\t\t\treturn ''\r\n\t\t\t}\r\n\t\t\tnumber = formatNationalNumber(nationalNumber, input.carrierCode, 'NATIONAL', metadata, options)\r\n\t\t\treturn addExtension(number, input.ext, metadata, options.formatExtension)\r\n\r\n\t\tcase 'INTERNATIONAL':\r\n\t\t\t// Legacy argument support.\r\n\t\t\t// (`{ country: ..., phone: '' }`)\r\n\t\t\tif (!nationalNumber) {\r\n\t\t\t\treturn `+${countryCallingCode}`\r\n\t\t\t}\r\n\t\t\tnumber = formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata, options)\r\n\t\t\tnumber = `+${countryCallingCode} ${number}`\r\n\t\t\treturn addExtension(number, input.ext, metadata, options.formatExtension)\r\n\r\n\t\tcase 'E.164':\r\n\t\t\t// `E.164` doesn't define \"phone number extensions\".\r\n\t\t\treturn `+${countryCallingCode}${nationalNumber}`\r\n\r\n\t\tcase 'RFC3966':\r\n\t\t\treturn formatRFC3966({\r\n\t\t\t\tnumber: `+${countryCallingCode}${nationalNumber}`,\r\n\t\t\t\text: input.ext\r\n\t\t\t})\r\n\r\n\t\t// For reference, here's Google's IDD formatter:\r\n\t\t// https://github.com/google/libphonenumber/blob/32719cf74e68796788d1ca45abc85dcdc63ba5b9/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L1546\r\n\t\t// Not saying that this IDD formatter replicates it 1:1, but it seems to work.\r\n\t\t// Who would even need to format phone numbers in IDD format anyway?\r\n\t\tcase 'IDD':\r\n\t\t\tif (!options.fromCountry) {\r\n\t\t\t\treturn\r\n\t\t\t\t// throw new Error('`fromCountry` option not passed for IDD-prefixed formatting.')\r\n\t\t\t}\r\n\t\t\tconst formattedNumber = formatIDD(\r\n\t\t\t\tnationalNumber,\r\n\t\t\t\tinput.carrierCode,\r\n\t\t\t\tcountryCallingCode,\r\n\t\t\t\toptions.fromCountry,\r\n\t\t\t\tmetadata\r\n\t\t\t)\r\n\t\t\treturn addExtension(formattedNumber, input.ext, metadata, options.formatExtension)\r\n\r\n\t\tdefault:\r\n\t\t\tthrow new Error(`Unknown \"format\" argument passed to \"formatNumber()\": \"${format}\"`)\r\n\t}\r\n}\r\n\r\nfunction formatNationalNumber(number, carrierCode, formatAs, metadata, options) {\r\n\tconst format = chooseFormatForNumber(metadata.formats(), number)\r\n\tif (!format) {\r\n\t\treturn number\r\n\t}\r\n\treturn formatNationalNumberUsingFormat(\r\n\t\tnumber,\r\n\t\tformat,\r\n\t\t{\r\n\t\t\tuseInternationalFormat: formatAs === 'INTERNATIONAL',\r\n\t\t\twithNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && (options && options.nationalPrefix === false) ? false : true,\r\n\t\t\tcarrierCode,\r\n\t\t\tmetadata\r\n\t\t}\r\n\t)\r\n}\r\n\r\nfunction chooseFormatForNumber(availableFormats, nationalNnumber) {\r\n\tfor (const format of availableFormats) {\r\n\t\t// Validate leading digits\r\n\t\tif (format.leadingDigitsPatterns().length > 0) {\r\n\t\t\t// The last leading_digits_pattern is used here, as it is the most detailed\r\n\t\t\tconst lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1]\r\n\t\t\t// If leading digits don't match then move on to the next phone number format\r\n\t\t\tif (nationalNnumber.search(lastLeadingDigitsPattern) !== 0) {\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Check that the national number matches the phone number format regular expression\r\n\t\tif (matchesEntirely(nationalNnumber, format.pattern())) {\r\n\t\t\treturn format\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction addExtension(formattedNumber, ext, metadata, formatExtension) {\r\n\treturn ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber\r\n}\r\n\r\nfunction formatIDD(\r\n\tnationalNumber,\r\n\tcarrierCode,\r\n\tcountryCallingCode,\r\n\tfromCountry,\r\n\tmetadata\r\n) {\r\n\tconst fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata.metadata)\r\n\t// When calling within the same country calling code.\r\n\tif (fromCountryCallingCode === countryCallingCode) {\r\n\t\tconst formattedNumber = formatNationalNumber(nationalNumber, carrierCode, 'NATIONAL', metadata)\r\n\t\t// For NANPA regions, return the national format for these regions\r\n\t\t// but prefix it with the country calling code.\r\n\t\tif (countryCallingCode === '1') {\r\n\t\t\treturn countryCallingCode + ' ' + formattedNumber\r\n\t\t}\r\n\t\t// If regions share a country calling code, the country calling code need\r\n\t\t// not be dialled. This also applies when dialling within a region, so this\r\n\t\t// if clause covers both these cases. Technically this is the case for\r\n\t\t// dialling from La Reunion to other overseas departments of France (French\r\n\t\t// Guiana, Martinique, Guadeloupe), but not vice versa - so we don't cover\r\n\t\t// this edge case for now and for those cases return the version including\r\n\t\t// country calling code. Details here:\r\n\t\t// http://www.petitfute.com/voyage/225-info-pratiques-reunion\r\n\t\t//\r\n\t\treturn formattedNumber\r\n\t}\r\n\tconst iddPrefix = getIddPrefix(fromCountry, undefined, metadata.metadata)\r\n\tif (iddPrefix) {\r\n\t\treturn `${iddPrefix} ${countryCallingCode} ${formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata)}`\r\n\t}\r\n}","import isViablePhoneNumber from './isViablePhoneNumber'\r\n\r\n// https://www.ietf.org/rfc/rfc3966.txt\r\n\r\n/**\r\n * @param {string} text - Phone URI (RFC 3966).\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\r\nexport function parseRFC3966(text) {\r\n\tlet number\r\n\tlet ext\r\n\r\n\t// Replace \"tel:\" with \"tel=\" for parsing convenience.\r\n\ttext = text.replace(/^tel:/, 'tel=')\r\n\r\n\tfor (const part of text.split(';')) {\r\n\t\tconst [name, value] = part.split('=')\r\n\t\tswitch (name) {\r\n\t\t\tcase 'tel':\r\n\t\t\t\tnumber = value\r\n\t\t\t\tbreak\r\n\t\t\tcase 'ext':\r\n\t\t\t\text = value\r\n\t\t\t\tbreak\r\n\t\t\tcase 'phone-context':\r\n\t\t\t\t// Only \"country contexts\" are supported.\r\n\t\t\t\t// \"Domain contexts\" are ignored.\r\n\t\t\t\tif (value[0] === '+') {\r\n\t\t\t\t\tnumber = value + number\r\n\t\t\t\t}\r\n\t\t\t\tbreak\r\n\t\t}\r\n\t}\r\n\r\n\t// If the phone number is not viable, then abort.\r\n\tif (!isViablePhoneNumber(number)) {\r\n\t\treturn {}\r\n\t}\r\n\r\n\tconst result = { number }\r\n\tif (ext) {\r\n\t\tresult.ext = ext\r\n\t}\r\n\treturn result\r\n}\r\n\r\n/**\r\n * @param {object} - `{ ?number, ?extension }`.\r\n * @return {string} Phone URI (RFC 3966).\r\n */\r\nexport function formatRFC3966({ number, ext }) {\r\n\tif (!number) {\r\n\t\treturn ''\r\n\t}\r\n\tif (number[0] !== '+') {\r\n\t\tthrow new Error(`\"formatRFC3966()\" expects \"number\" to be in E.164 format.`)\r\n\t}\r\n\treturn `tel:${number}${ext ? ';ext=' + ext : ''}`\r\n}","import Metadata from './metadata'\r\nimport isPossibleNumber from './isPossibleNumber_'\r\nimport isValidNumber from './validate_'\r\nimport isValidNumberForRegion from './isValidNumberForRegion_'\r\nimport getNumberType from './helpers/getNumberType'\r\nimport formatNumber from './format_'\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\nexport default class PhoneNumber {\r\n\tconstructor(countryCallingCode, nationalNumber, metadata) {\r\n\t\tif (!countryCallingCode) {\r\n\t\t\tthrow new TypeError('`country` or `countryCallingCode` not passed')\r\n\t\t}\r\n\t\tif (!nationalNumber) {\r\n\t\t\tthrow new TypeError('`nationalNumber` not passed')\r\n\t\t}\r\n\t\tif (!metadata) {\r\n\t\t\tthrow new TypeError('`metadata` not passed')\r\n\t\t}\r\n\t\tconst _metadata = new Metadata(metadata)\r\n\t\t// If country code is passed then derive `countryCallingCode` from it.\r\n\t\t// Also store the country code as `.country`.\r\n\t\tif (isCountryCode(countryCallingCode)) {\r\n\t\t\tthis.country = countryCallingCode\r\n\t\t\t_metadata.country(countryCallingCode)\r\n\t\t\tcountryCallingCode = _metadata.countryCallingCode()\r\n\t\t} else {\r\n\t\t\t/* istanbul ignore if */\r\n\t\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\t\tif (_metadata.isNonGeographicCallingCode(countryCallingCode)) {\r\n\t\t\t\t\tthis.country = '001'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.countryCallingCode = countryCallingCode\r\n\t\tthis.nationalNumber = nationalNumber\r\n\t\tthis.number = '+' + this.countryCallingCode + this.nationalNumber\r\n\t\tthis.metadata = metadata\r\n\t}\r\n\r\n\tsetExt(ext) {\r\n\t\tthis.ext = ext\r\n\t}\r\n\r\n\tisPossible() {\r\n\t\treturn isPossibleNumber(this, { v2: true }, this.metadata)\r\n\t}\r\n\r\n\tisValid() {\r\n\t\treturn isValidNumber(this, { v2: true }, this.metadata)\r\n\t}\r\n\r\n\tisNonGeographic() {\r\n\t\tconst metadata = new Metadata(this.metadata)\r\n\t\treturn metadata.isNonGeographicCallingCode(this.countryCallingCode)\r\n\t}\r\n\r\n\tisEqual(phoneNumber) {\r\n\t\treturn this.number === phoneNumber.number && this.ext === phoneNumber.ext\r\n\t}\r\n\r\n\t// // Is just an alias for `this.isValid() && this.country === country`.\r\n\t// // https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\r\n\t// isValidForRegion(country) {\r\n\t// \treturn isValidNumberForRegion(this, country, { v2: true }, this.metadata)\r\n\t// }\r\n\r\n\tgetType() {\r\n\t\treturn getNumberType(this, { v2: true }, this.metadata)\r\n\t}\r\n\r\n\tformat(format, options) {\r\n\t\treturn formatNumber(\r\n\t\t\tthis,\r\n\t\t\tformat,\r\n\t\t\toptions ? { ...options, v2: true } : { v2: true },\r\n\t\t\tthis.metadata\r\n\t\t)\r\n\t}\r\n\r\n\tformatNational(options) {\r\n\t\treturn this.format('NATIONAL', options)\r\n\t}\r\n\r\n\tformatInternational(options) {\r\n\t\treturn this.format('INTERNATIONAL', options)\r\n\t}\r\n\r\n\tgetURI(options) {\r\n\t\treturn this.format('RFC3966', options)\r\n\t}\r\n}\r\n\r\nconst isCountryCode = (value) => /^[A-Z]{2}$/.test(value)","import Metadata from './metadata'\r\nimport matchesEntirely from './helpers/matchesEntirely'\r\nimport getNumberType from './helpers/getNumberType'\r\n\r\n/**\r\n * Checks if a given phone number is valid.\r\n *\r\n * If the `number` is a string, it will be parsed to an object,\r\n * but only if it contains only valid phone number characters (including punctuation).\r\n * If the `number` is an object, it is used as is.\r\n *\r\n * The optional `defaultCountry` argument is the default country.\r\n * I.e. it does not restrict to just that country,\r\n * e.g. in those cases where several countries share\r\n * the same phone numbering rules (NANPA, Britain, etc).\r\n * For example, even though the number `07624 369230`\r\n * belongs to the Isle of Man (\"IM\" country code)\r\n * calling `isValidNumber('07624369230', 'GB', metadata)`\r\n * still returns `true` because the country is not restricted to `GB`,\r\n * it's just that `GB` is the default one for the phone numbering rules.\r\n * For restricting the country see `isValidNumberForRegion()`\r\n * though restricting a country might not be a good idea.\r\n * https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\r\n *\r\n * Examples:\r\n *\r\n * ```js\r\n * isValidNumber('+78005553535', metadata)\r\n * isValidNumber('8005553535', 'RU', metadata)\r\n * isValidNumber('88005553535', 'RU', metadata)\r\n * isValidNumber({ phone: '8005553535', country: 'RU' }, metadata)\r\n * ```\r\n */\r\nexport default function isValidNumber(input, options, metadata)\r\n{\r\n\t// If assigning the `{}` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\toptions = options || {}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\t// This is just to support `isValidNumber({})`\r\n\t// for cases when `parseNumber()` returns `{}`.\r\n\tif (!input.country)\r\n\t{\r\n\t\treturn false\r\n\t}\r\n\r\n\tmetadata.selectNumberingPlan(input.country, input.countryCallingCode)\r\n\r\n\t// By default, countries only have type regexps when it's required for\r\n\t// distinguishing different countries having the same `countryCallingCode`.\r\n\tif (metadata.hasTypes())\r\n\t{\r\n\t\treturn getNumberType(input, options, metadata.metadata) !== undefined\r\n\t}\r\n\r\n\t// If there are no type regexps for this country in metadata then use\r\n\t// `nationalNumberPattern` as a \"better than nothing\" replacement.\r\n\tconst national_number = options.v2 ? input.nationalNumber : input.phone\r\n\treturn matchesEntirely(national_number, metadata.nationalNumberPattern())\r\n}","import Metadata from '../metadata'\r\nimport { VALID_DIGITS } from '../constants'\r\n\r\nconst CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])')\r\n\r\nexport default function stripIddPrefix(number, country, callingCode, metadata) {\r\n\tif (!country) {\r\n\t\treturn\r\n\t}\r\n\t// Check if the number is IDD-prefixed.\r\n\tconst countryMetadata = new Metadata(metadata)\r\n\tcountryMetadata.selectNumberingPlan(country, callingCode)\r\n\tconst IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix())\r\n\tif (number.search(IDDPrefixPattern) !== 0) {\r\n\t\treturn\r\n\t}\r\n\t// Strip IDD prefix.\r\n\tnumber = number.slice(number.match(IDDPrefixPattern)[0].length)\r\n\t// If there're any digits after an IDD prefix,\r\n\t// then those digits are a country calling code.\r\n\t// Since no country code starts with a `0`,\r\n\t// the code below validates that the next digit (if present) is not `0`.\r\n\tconst matchedGroups = number.match(CAPTURING_DIGIT_PATTERN)\r\n\tif (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\r\n\t\tif (matchedGroups[1] === '0') {\r\n\t\t\treturn\r\n\t\t}\r\n\t}\r\n\treturn number\r\n}","/**\r\n * Strips any national prefix (such as 0, 1) present in a\r\n * (possibly incomplete) number provided.\r\n * \"Carrier codes\" are only used in Colombia and Brazil,\r\n * and only when dialing within those countries from a mobile phone to a fixed line number.\r\n * Sometimes it won't actually strip national prefix\r\n * and will instead prepend some digits to the `number`:\r\n * for example, when number `2345678` is passed with `VI` country selected,\r\n * it will return `{ number: \"3402345678\" }`, because `340` area code is prepended.\r\n * @param {string} number — National number digits.\r\n * @param {object} metadata — Metadata with country selected.\r\n * @return {object} `{ nationalNumber: string, nationalPrefix: string? carrierCode: string? }`. Even if a national prefix was extracted, it's not necessarily present in the returned object, so don't rely on its presence in the returned object in order to find out whether a national prefix has been extracted or not.\r\n */\r\nexport default function extractNationalNumberFromPossiblyIncompleteNumber(number, metadata) {\r\n\tif (number && metadata.numberingPlan.nationalPrefixForParsing()) {\r\n\t\t// See METADATA.md for the description of\r\n\t\t// `national_prefix_for_parsing` and `national_prefix_transform_rule`.\r\n\t\t// Attempt to parse the first digits as a national prefix.\r\n\t\tconst prefixPattern = new RegExp('^(?:' + metadata.numberingPlan.nationalPrefixForParsing() + ')')\r\n\t\tconst prefixMatch = prefixPattern.exec(number)\r\n\t\tif (prefixMatch) {\r\n\t\t\tlet nationalNumber\r\n\t\t\tlet carrierCode\r\n\t\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\r\n\t\t\t// If a `national_prefix_for_parsing` has any \"capturing groups\"\r\n\t\t\t// then it means that the national (significant) number is equal to\r\n\t\t\t// those \"capturing groups\" transformed via `national_prefix_transform_rule`,\r\n\t\t\t// and nothing could be said about the actual national prefix:\r\n\t\t\t// what is it and was it even there.\r\n\t\t\t// If a `national_prefix_for_parsing` doesn't have any \"capturing groups\",\r\n\t\t\t// then everything it matches is a national prefix.\r\n\t\t\t// To determine whether `national_prefix_for_parsing` matched any\r\n\t\t\t// \"capturing groups\", the value of the result of calling `.exec()`\r\n\t\t\t// is looked at, and if it has non-undefined values where there're\r\n\t\t\t// \"capturing groups\" in the regular expression, then it means\r\n\t\t\t// that \"capturing groups\" have been matched.\r\n\t\t\t// It's not possible to tell whether there'll be any \"capturing gropus\"\r\n\t\t\t// before the matching process, because a `national_prefix_for_parsing`\r\n\t\t\t// could exhibit both behaviors.\r\n\t\t\tconst capturedGroupsCount = prefixMatch.length - 1\r\n\t\t\tconst hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount]\r\n\t\t\tif (metadata.nationalPrefixTransformRule() && hasCapturedGroups) {\r\n\t\t\t\tnationalNumber = number.replace(\r\n\t\t\t\t\tprefixPattern,\r\n\t\t\t\t\tmetadata.nationalPrefixTransformRule()\r\n\t\t\t\t)\r\n\t\t\t\t// If there's more than one captured group,\r\n\t\t\t\t// then carrier code is the second one.\r\n\t\t\t\tif (capturedGroupsCount > 1) {\r\n\t\t\t\t\tcarrierCode = prefixMatch[1]\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// If there're no \"capturing groups\",\r\n\t\t\t// or if there're \"capturing groups\" but no\r\n\t\t\t// `national_prefix_transform_rule`,\r\n\t\t\t// then just strip the national prefix from the number,\r\n\t\t\t// and possibly a carrier code.\r\n\t\t\t// Seems like there could be more.\r\n\t\t\telse {\r\n\t\t\t\t// `prefixBeforeNationalNumber` is the whole substring matched by\r\n\t\t\t\t// the `national_prefix_for_parsing` regular expression.\r\n\t\t\t\t// There seem to be no guarantees that it's just a national prefix.\r\n\t\t\t\t// For example, if there's a carrier code, it's gonna be a\r\n\t\t\t\t// part of `prefixBeforeNationalNumber` too.\r\n\t\t\t\tconst prefixBeforeNationalNumber = prefixMatch[0]\r\n\t\t\t\tnationalNumber = number.slice(prefixBeforeNationalNumber.length)\r\n\t\t\t\t// If there's at least one captured group,\r\n\t\t\t\t// then carrier code is the first one.\r\n\t\t\t\tif (hasCapturedGroups) {\r\n\t\t\t\t\tcarrierCode = prefixMatch[1]\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// Tries to guess whether a national prefix was present in the input.\r\n\t\t\t// This is not something copy-pasted from Google's library:\r\n\t\t\t// they don't seem to have an equivalent for that.\r\n\t\t\t// So this isn't an \"officially approved\" way of doing something like that.\r\n\t\t\t// But since there seems no other existing method, this library uses it.\r\n\t\t\tlet nationalPrefix\r\n\t\t\tif (hasCapturedGroups) {\r\n\t\t\t\tconst possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1])\r\n\t\t\t\tconst possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup)\r\n\t\t\t\t// Example: an Argentinian (AR) phone number `0111523456789`.\r\n\t\t\t\t// `prefixMatch[0]` is `01115`, and `$1` is `11`,\r\n\t\t\t\t// and the rest of the phone number is `23456789`.\r\n\t\t\t\t// The national number is transformed via `9$1` to `91123456789`.\r\n\t\t\t\t// National prefix `0` is detected being present at the start.\r\n\t\t\t\t// if (possibleNationalPrefix.indexOf(metadata.numberingPlan.nationalPrefix()) === 0) {\r\n\t\t\t\tif (possibleNationalPrefix === metadata.numberingPlan.nationalPrefix()) {\r\n\t\t\t\t\tnationalPrefix = metadata.numberingPlan.nationalPrefix()\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tnationalPrefix = prefixMatch[0]\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\tnationalNumber,\r\n\t\t\t\tnationalPrefix,\r\n\t\t\t\tcarrierCode\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n return {\r\n \tnationalNumber: number\r\n }\r\n}","import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber'\r\nimport matchesEntirely from './matchesEntirely'\r\nimport checkNumberLength from './checkNumberLength'\r\n\r\n/**\r\n * Strips national prefix and carrier code from a complete phone number.\r\n * The difference from the non-\"FromCompleteNumber\" function is that\r\n * it won't extract national prefix if the resultant number is too short\r\n * to be a complete number for the selected phone numbering plan.\r\n * @param {string} number — Complete phone number digits.\r\n * @param {Metadata} metadata — Metadata with a phone numbering plan selected.\r\n * @return {object} `{ nationalNumber: string, carrierCode: string? }`.\r\n */\r\nexport default function extractNationalNumber(number, metadata) {\r\n\t// Parsing national prefixes and carrier codes\r\n\t// is only required for local phone numbers\r\n\t// but some people don't understand that\r\n\t// and sometimes write international phone numbers\r\n\t// with national prefixes (or maybe even carrier codes).\r\n\t// http://ucken.blogspot.ru/2016/03/trunk-prefixes-in-skype4b.html\r\n\t// Google's original library forgives such mistakes\r\n\t// and so does this library, because it has been requested:\r\n\t// https://github.com/catamphetamine/libphonenumber-js/issues/127\r\n\tconst {\r\n\t\tcarrierCode,\r\n\t\tnationalNumber\r\n\t} = extractNationalNumberFromPossiblyIncompleteNumber(\r\n\t\tnumber,\r\n\t\tmetadata\r\n\t)\r\n\r\n\tif (nationalNumber !== number) {\r\n\t\tif (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata)) {\r\n\t\t\t// Don't strip the national prefix.\r\n\t\t\treturn { nationalNumber: number }\r\n\t\t}\r\n\t\t// Check the national (significant) number length after extracting national prefix and carrier code.\r\n\t\t// Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature.\r\n\t\tif (metadata.possibleLengths()) {\r\n\t\t\t// The number remaining after stripping the national prefix and carrier code\r\n\t\t\t// should be long enough to have a possible length for the country.\r\n\t\t\t// Otherwise, don't strip the national prefix and carrier code,\r\n\t\t\t// since the original number could be a valid number.\r\n\t\t\t// This check has been copy-pasted \"as is\" from Google's original library:\r\n\t\t\t// https://github.com/google/libphonenumber/blob/876268eb1ad6cdc1b7b5bef17fc5e43052702d57/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3236-L3250\r\n\t\t\t// It doesn't check for the \"possibility\" of the original `number`.\r\n\t\t\t// I guess it's fine not checking that one. It works as is anyway.\r\n\t\t\tif (!isPossibleIncompleteNationalNumber(nationalNumber, metadata)) {\r\n\t\t\t\t// Don't strip the national prefix.\r\n\t\t\t\treturn { nationalNumber: number }\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn { nationalNumber, carrierCode }\r\n}\r\n\r\n// In some countries, the same digit could be a national prefix\r\n// or a leading digit of a valid phone number.\r\n// For example, in Russia, national prefix is `8`,\r\n// and also `800 555 35 35` is a valid number\r\n// in which `8` is not a national prefix, but the first digit\r\n// of a national (significant) number.\r\n// Same's with Belarus:\r\n// `82004910060` is a valid national (significant) number,\r\n// but `2004910060` is not.\r\n// To support such cases (to prevent the code from always stripping\r\n// national prefix), a condition is imposed: a national prefix\r\n// is not extracted when the original number is \"viable\" and the\r\n// resultant number is not, a \"viable\" national number being the one\r\n// that matches `national_number_pattern`.\r\nfunction shouldHaveExtractedNationalPrefix(nationalNumberBefore, nationalNumberAfter, metadata) {\r\n\t// The equivalent in Google's code is:\r\n\t// https://github.com/google/libphonenumber/blob/e326fa1fc4283bb05eb35cb3c15c18f98a31af33/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L2969-L3004\r\n\tif (matchesEntirely(nationalNumberBefore, metadata.nationalNumberPattern()) &&\r\n\t\t!matchesEntirely(nationalNumberAfter, metadata.nationalNumberPattern())) {\r\n\t\treturn false\r\n\t}\r\n\t// This \"is possible\" national number (length) check has been commented out\r\n\t// because it's superceded by the (effectively) same check done in the\r\n\t// `extractNationalNumber()` function after it calls `shouldHaveExtractedNationalPrefix()`.\r\n\t// In other words, why run the same check twice if it could only be run once.\r\n\t// // Check the national (significant) number length after extracting national prefix and carrier code.\r\n\t// // Fixes a minor \"weird behavior\" bug: https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/57\r\n\t// // (Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature).\r\n\t// if (metadata.possibleLengths()) {\r\n\t// \tif (isPossibleIncompleteNationalNumber(nationalNumberBefore, metadata) &&\r\n\t// \t\t!isPossibleIncompleteNationalNumber(nationalNumberAfter, metadata)) {\r\n\t// \t\treturn false\r\n\t// \t}\r\n\t// }\r\n\treturn true\r\n}\r\n\r\nfunction isPossibleIncompleteNationalNumber(nationalNumber, metadata) {\r\n\tswitch (checkNumberLength(nationalNumber, metadata)) {\r\n\t\tcase 'TOO_SHORT':\r\n\t\tcase 'INVALID_LENGTH':\r\n\t\t// This library ignores \"local-only\" phone numbers (for simplicity).\r\n\t\t// See the readme for more info on what are \"local-only\" phone numbers.\r\n\t\t// case 'IS_POSSIBLE_LOCAL_ONLY':\r\n\t\t\treturn false\r\n\t\tdefault:\r\n\t\t\treturn true\r\n\t}\r\n}","import Metadata from '../metadata'\r\nimport matchesEntirely from './matchesEntirely'\r\nimport extractNationalNumber from './extractNationalNumber'\r\nimport checkNumberLength from './checkNumberLength'\r\nimport getCountryCallingCode from '../getCountryCallingCode'\r\n\r\n/**\r\n * Sometimes some people incorrectly input international phone numbers\r\n * without the leading `+`. This function corrects such input.\r\n * @param {string} number — Phone number digits.\r\n * @param {string?} country\r\n * @param {string?} callingCode\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`.\r\n */\r\nexport default function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(\r\n\tnumber,\r\n\tcountry,\r\n\tcallingCode,\r\n\tmetadata\r\n) {\r\n\tconst countryCallingCode = country ? getCountryCallingCode(country, metadata) : callingCode\r\n\tif (number.indexOf(countryCallingCode) === 0) {\r\n\t\tmetadata = new Metadata(metadata)\r\n\t\tmetadata.selectNumberingPlan(country, callingCode)\r\n\t\tconst possibleShorterNumber = number.slice(countryCallingCode.length)\r\n\t\tconst {\r\n\t\t\tnationalNumber: possibleShorterNationalNumber,\r\n\t\t} = extractNationalNumber(\r\n\t\t\tpossibleShorterNumber,\r\n\t\t\tmetadata\r\n\t\t)\r\n\t\tconst {\r\n\t\t\tnationalNumber\r\n\t\t} = extractNationalNumber(\r\n\t\t\tnumber,\r\n\t\t\tmetadata\r\n\t\t)\r\n\t\t// If the number was not valid before but is valid now,\r\n\t\t// or if it was too long before, we consider the number\r\n\t\t// with the country calling code stripped to be a better result\r\n\t\t// and keep that instead.\r\n\t\t// For example, in Germany (+49), `49` is a valid area code,\r\n\t\t// so if a number starts with `49`, it could be both a valid\r\n\t\t// national German number or an international number without\r\n\t\t// a leading `+`.\r\n\t\tif (\r\n\t\t\t(\r\n\t\t\t\t!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())\r\n\t\t\t\t&&\r\n\t\t\t\tmatchesEntirely(possibleShorterNationalNumber, metadata.nationalNumberPattern())\r\n\t\t\t)\r\n\t\t\t||\r\n\t\t\tcheckNumberLength(nationalNumber, metadata) === 'TOO_LONG'\r\n\t\t) {\r\n\t\t\treturn {\r\n\t\t\t\tcountryCallingCode,\r\n\t\t\t\tnumber: possibleShorterNumber\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn { number }\r\n}","import stripIddPrefix from './stripIddPrefix'\r\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './extractCountryCallingCodeFromInternationalNumberWithoutPlusSign'\r\nimport Metadata from '../metadata'\r\nimport { MAX_LENGTH_COUNTRY_CODE } from '../constants'\r\n\r\n/**\r\n * Converts a phone number digits (possibly with a `+`)\r\n * into a calling code and the rest phone number digits.\r\n * The \"rest phone number digits\" could include\r\n * a national prefix, carrier code, and national\r\n * (significant) number.\r\n * @param {string} number — Phone number digits (possibly with a `+`).\r\n * @param {string} [country] — Default country.\r\n * @param {string} [callingCode] — Default calling code (some phone numbering plans are non-geographic).\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`\r\n * @example\r\n * // Returns `{ countryCallingCode: \"1\", number: \"2133734253\" }`.\r\n * extractCountryCallingCode('2133734253', 'US', null, metadata)\r\n * extractCountryCallingCode('2133734253', null, '1', metadata)\r\n * extractCountryCallingCode('+12133734253', null, null, metadata)\r\n * extractCountryCallingCode('+12133734253', 'RU', null, metadata)\r\n */\r\nexport default function extractCountryCallingCode(\r\n\tnumber,\r\n\tcountry,\r\n\tcallingCode,\r\n\tmetadata\r\n) {\r\n\tif (!number) {\r\n\t\treturn {}\r\n\t}\r\n\r\n\t// If this is not an international phone number,\r\n\t// then either extract an \"IDD\" prefix, or extract a\r\n\t// country calling code from a number by autocorrecting it\r\n\t// by prepending a leading `+` in cases when it starts\r\n\t// with the country calling code.\r\n\t// https://wikitravel.org/en/International_dialling_prefix\r\n\t// https://github.com/catamphetamine/libphonenumber-js/issues/376\r\n\tif (number[0] !== '+') {\r\n\t\t// Convert an \"out-of-country\" dialing phone number\r\n\t\t// to a proper international phone number.\r\n\t\tconst numberWithoutIDD = stripIddPrefix(number, country, callingCode, metadata)\r\n\t\t// If an IDD prefix was stripped then\r\n\t\t// convert the number to international one\r\n\t\t// for subsequent parsing.\r\n\t\tif (numberWithoutIDD && numberWithoutIDD !== number) {\r\n\t\t\tnumber = '+' + numberWithoutIDD\r\n\t\t} else {\r\n\t\t\t// Check to see if the number starts with the country calling code\r\n\t\t\t// for the default country. If so, we remove the country calling code,\r\n\t\t\t// and do some checks on the validity of the number before and after.\r\n\t\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/376\r\n\t\t\tif (country || callingCode) {\r\n\t\t\t\tconst {\r\n\t\t\t\t\tcountryCallingCode,\r\n\t\t\t\t\tnumber: shorterNumber\r\n\t\t\t\t} = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(\r\n\t\t\t\t\tnumber,\r\n\t\t\t\t\tcountry,\r\n\t\t\t\t\tcallingCode,\r\n\t\t\t\t\tmetadata\r\n\t\t\t\t)\r\n\t\t\t\tif (countryCallingCode) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tcountryCallingCode,\r\n\t\t\t\t\t\tnumber: shorterNumber\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn { number }\r\n\t\t}\r\n\t}\r\n\r\n\t// Fast abortion: country codes do not begin with a '0'\r\n\tif (number[1] === '0') {\r\n\t\treturn {}\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\t// The thing with country phone codes\r\n\t// is that they are orthogonal to each other\r\n\t// i.e. there's no such country phone code A\r\n\t// for which country phone code B exists\r\n\t// where B starts with A.\r\n\t// Therefore, while scanning digits,\r\n\t// if a valid country code is found,\r\n\t// that means that it is the country code.\r\n\t//\r\n\tlet i = 2\r\n\twhile (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\r\n\t\tconst countryCallingCode = number.slice(1, i)\r\n\t\tif (metadata.hasCallingCode(countryCallingCode)) {\r\n\t\t\tmetadata.selectNumberingPlan(countryCallingCode)\r\n\t\t\treturn {\r\n\t\t\t\tcountryCallingCode,\r\n\t\t\t\tnumber: number.slice(i)\r\n\t\t\t}\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\r\n\treturn {}\r\n}","import Metadata from '../metadata'\r\nimport getNumberType from './getNumberType'\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\nexport default function getCountryByCallingCode(callingCode, nationalPhoneNumber, metadata) {\r\n\t/* istanbul ignore if */\r\n\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\tif (metadata.isNonGeographicCallingCode(callingCode)) {\r\n\t\t\treturn '001'\r\n\t\t}\r\n\t}\r\n\t// Is always non-empty, because `callingCode` is always valid\r\n\tconst possibleCountries = metadata.getCountryCodesForCallingCode(callingCode)\r\n\tif (!possibleCountries) {\r\n\t\treturn\r\n\t}\r\n\t// If there's just one country corresponding to the country code,\r\n\t// then just return it, without further phone number digits validation.\r\n\tif (possibleCountries.length === 1) {\r\n\t\treturn possibleCountries[0]\r\n\t}\r\n\treturn selectCountryFromList(possibleCountries, nationalPhoneNumber, metadata.metadata)\r\n}\r\n\r\nfunction selectCountryFromList(possibleCountries, nationalPhoneNumber, metadata) {\r\n\t// Re-create `metadata` because it will be selecting a `country`.\r\n\tmetadata = new Metadata(metadata)\r\n\tfor (const country of possibleCountries) {\r\n\t\tmetadata.country(country)\r\n\t\t// Leading digits check would be the simplest and fastest one.\r\n\t\t// Leading digits patterns are only defined for about 20% of all countries.\r\n\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md#leading_digits\r\n\t\t// Matching \"leading digits\" is a sufficient but not necessary condition.\r\n\t\tif (metadata.leadingDigits()) {\r\n\t\t\tif (nationalPhoneNumber &&\r\n\t\t\t\tnationalPhoneNumber.search(metadata.leadingDigits()) === 0) {\r\n\t\t\t\treturn country\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Else perform full validation with all of those\r\n\t\t// fixed-line/mobile/etc regular expressions.\r\n\t\telse if (getNumberType({ phone: nationalPhoneNumber, country }, undefined, metadata.metadata)) {\r\n\t\t\treturn country\r\n\t\t}\r\n\t}\r\n}","// This is a port of Google Android `libphonenumber`'s\r\n// `phonenumberutil.js` of December 31th, 2018.\r\n//\r\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\r\n\r\nimport {\r\n\tVALID_DIGITS,\r\n\tPLUS_CHARS,\r\n\tMIN_LENGTH_FOR_NSN,\r\n\tMAX_LENGTH_FOR_NSN\r\n} from './constants'\r\n\r\nimport ParseError from './ParseError'\r\nimport Metadata from './metadata'\r\nimport isViablePhoneNumber, { isViablePhoneNumberStart } from './helpers/isViablePhoneNumber'\r\nimport extractExtension from './helpers/extension/extractExtension'\r\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber'\r\nimport getCountryCallingCode from './getCountryCallingCode'\r\nimport { isPossibleNumber } from './isPossibleNumber_'\r\nimport { parseRFC3966 } from './helpers/RFC3966'\r\nimport PhoneNumber from './PhoneNumber'\r\nimport matchesEntirely from './helpers/matchesEntirely'\r\nimport extractCountryCallingCode from './helpers/extractCountryCallingCode'\r\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign'\r\nimport extractNationalNumber from './helpers/extractNationalNumber'\r\nimport stripIddPrefix from './helpers/stripIddPrefix'\r\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode'\r\n\r\n// We don't allow input strings for parsing to be longer than 250 chars.\r\n// This prevents malicious input from consuming CPU.\r\nconst MAX_INPUT_STRING_LENGTH = 250\r\n\r\n// This consists of the plus symbol, digits, and arabic-indic digits.\r\nconst PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']')\r\n\r\n// Regular expression of trailing characters that we want to remove.\r\n// A trailing `#` is sometimes used when writing phone numbers with extensions in US.\r\n// Example: \"+1 (645) 123 1234-910#\" number has extension \"910\".\r\nconst AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$')\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\n// Examples:\r\n//\r\n// ```js\r\n// parse('8 (800) 555-35-35', 'RU')\r\n// parse('8 (800) 555-35-35', 'RU', metadata)\r\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\r\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\r\n// parse('+7 800 555 35 35')\r\n// parse('+7 800 555 35 35', metadata)\r\n// ```\r\n//\r\nexport default function parse(text, options, metadata) {\r\n\t// If assigning the `{}` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\toptions = options || {}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\t// Validate `defaultCountry`.\r\n\tif (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('INVALID_COUNTRY')\r\n\t\t}\r\n\t\tthrow new Error(`Unknown country: ${options.defaultCountry}`)\r\n\t}\r\n\r\n\t// Parse the phone number.\r\n\tconst { number: formattedPhoneNumber, ext, error } = parseInput(text, options.v2, options.extract)\r\n\r\n\t// If the phone number is not viable then return nothing.\r\n\tif (!formattedPhoneNumber) {\r\n\t\tif (options.v2) {\r\n\t\t\tif (error === 'TOO_SHORT') {\r\n\t\t\t\tthrow new ParseError('TOO_SHORT')\r\n\t\t\t}\r\n\t\t\tthrow new ParseError('NOT_A_NUMBER')\r\n\t\t}\r\n\t\treturn {}\r\n\t}\r\n\r\n\tconst {\r\n\t\tcountry,\r\n\t\tnationalNumber,\r\n\t\tcountryCallingCode,\r\n\t\tcarrierCode\r\n\t} = parsePhoneNumber(\r\n\t\tformattedPhoneNumber,\r\n\t\toptions.defaultCountry,\r\n\t\toptions.defaultCallingCode,\r\n\t\tmetadata\r\n\t)\r\n\r\n\tif (!metadata.hasSelectedNumberingPlan()) {\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('INVALID_COUNTRY')\r\n\t\t}\r\n\t\treturn {}\r\n\t}\r\n\r\n\t// Validate national (significant) number length.\r\n\tif (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\r\n\t\t// Won't throw here because the regexp already demands length > 1.\r\n\t\t/* istanbul ignore if */\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('TOO_SHORT')\r\n\t\t}\r\n\t\t// Google's demo just throws an error in this case.\r\n\t\treturn {}\r\n\t}\r\n\r\n\t// Validate national (significant) number length.\r\n\t//\r\n\t// A sidenote:\r\n\t//\r\n\t// They say that sometimes national (significant) numbers\r\n\t// can be longer than `MAX_LENGTH_FOR_NSN` (e.g. in Germany).\r\n\t// https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36\r\n\t// Such numbers will just be discarded.\r\n\t//\r\n\tif (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('TOO_LONG')\r\n\t\t}\r\n\t\t// Google's demo just throws an error in this case.\r\n\t\treturn {}\r\n\t}\r\n\r\n\tif (options.v2) {\r\n\t\tconst phoneNumber = new PhoneNumber(\r\n\t\t\tcountryCallingCode,\r\n\t\t\tnationalNumber,\r\n\t\t\tmetadata.metadata\r\n\t\t)\r\n\t\tif (country) {\r\n\t\t\tphoneNumber.country = country\r\n\t\t}\r\n\t\tif (carrierCode) {\r\n\t\t\tphoneNumber.carrierCode = carrierCode\r\n\t\t}\r\n\t\tif (ext) {\r\n\t\t\tphoneNumber.ext = ext\r\n\t\t}\r\n\t\treturn phoneNumber\r\n\t}\r\n\r\n\t// Check if national phone number pattern matches the number.\r\n\t// National number pattern is different for each country,\r\n\t// even for those ones which are part of the \"NANPA\" group.\r\n\tconst valid = (options.extended ? metadata.hasSelectedNumberingPlan() : country) ?\r\n\t\tmatchesEntirely(nationalNumber, metadata.nationalNumberPattern()) :\r\n\t\tfalse\r\n\r\n\tif (!options.extended) {\r\n\t\treturn valid ? result(country, nationalNumber, ext) : {}\r\n\t}\r\n\r\n\t// isInternational: countryCallingCode !== undefined\r\n\r\n\treturn {\r\n\t\tcountry,\r\n\t\tcountryCallingCode,\r\n\t\tcarrierCode,\r\n\t\tvalid,\r\n\t\tpossible: valid ? true : (\r\n\t\t\toptions.extended === true &&\r\n\t\t\tmetadata.possibleLengths() &&\r\n\t\t\tisPossibleNumber(nationalNumber, metadata) ? true : false\r\n\t\t),\r\n\t\tphone: nationalNumber,\r\n\t\text\r\n\t}\r\n}\r\n\r\n/**\r\n * Extracts a formatted phone number from text.\r\n * Doesn't guarantee that the extracted phone number\r\n * is a valid phone number (for example, doesn't validate its length).\r\n * @param {string} text\r\n * @param {boolean} [extract] — If `false`, then will parse the entire `text` as a phone number.\r\n * @param {boolean} [throwOnError] — By default, it won't throw if the text is too long.\r\n * @return {string}\r\n * @example\r\n * // Returns \"(213) 373-4253\".\r\n * extractFormattedPhoneNumber(\"Call (213) 373-4253 for assistance.\")\r\n */\r\nfunction extractFormattedPhoneNumber(text, extract, throwOnError) {\r\n\tif (!text) {\r\n\t\treturn\r\n\t}\r\n\tif (text.length > MAX_INPUT_STRING_LENGTH) {\r\n\t\tif (throwOnError) {\r\n\t\t\tthrow new ParseError('TOO_LONG')\r\n\t\t}\r\n\t\treturn\r\n\t}\r\n\tif (extract === false) {\r\n\t\treturn text\r\n\t}\r\n\t// Attempt to extract a possible number from the string passed in\r\n\tconst startsAt = text.search(PHONE_NUMBER_START_PATTERN)\r\n\tif (startsAt < 0) {\r\n\t\treturn\r\n\t}\r\n\treturn text\r\n\t\t// Trim everything to the left of the phone number\r\n\t\t.slice(startsAt)\r\n\t\t// Remove trailing non-numerical characters\r\n\t\t.replace(AFTER_PHONE_NUMBER_END_PATTERN, '')\r\n}\r\n\r\n/**\r\n * @param {string} text - Input.\r\n * @param {boolean} v2 - Legacy API functions don't pass `v2: true` flag.\r\n * @param {boolean} [extract] - Whether to extract a phone number from `text`, or attempt to parse the entire text as a phone number.\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\r\nfunction parseInput(text, v2, extract) {\r\n\t// Parse RFC 3966 phone number URI.\r\n\tif (text && text.indexOf('tel:') === 0) {\r\n\t\treturn parseRFC3966(text)\r\n\t}\r\n\tlet number = extractFormattedPhoneNumber(text, extract, v2)\r\n\t// If the phone number is not viable, then abort.\r\n\tif (!number) {\r\n\t\treturn {}\r\n\t}\r\n\tif (!isViablePhoneNumber(number)) {\r\n\t\tif (isViablePhoneNumberStart(number)) {\r\n\t\t\treturn { error: 'TOO_SHORT' }\r\n\t\t}\r\n\t\treturn {}\r\n\t}\r\n\t// Attempt to parse extension first, since it doesn't require region-specific\r\n\t// data and we want to have the non-normalised number here.\r\n\tconst withExtensionStripped = extractExtension(number)\r\n\tif (withExtensionStripped.ext) {\r\n\t\treturn withExtensionStripped\r\n\t}\r\n\treturn { number }\r\n}\r\n\r\n/**\r\n * Creates `parse()` result object.\r\n */\r\nfunction result(country, nationalNumber, ext) {\r\n\tconst result = {\r\n\t\tcountry,\r\n\t\tphone: nationalNumber\r\n\t}\r\n\tif (ext) {\r\n\t\tresult.ext = ext\r\n\t}\r\n\treturn result\r\n}\r\n\r\n/**\r\n * Parses a viable phone number.\r\n * @param {string} formattedPhoneNumber — Example: \"(213) 373-4253\".\r\n * @param {string} [defaultCountry]\r\n * @param {string} [defaultCallingCode]\r\n * @param {Metadata} metadata\r\n * @return {object} Returns `{ country: string?, countryCallingCode: string?, nationalNumber: string? }`.\r\n */\r\nfunction parsePhoneNumber(\r\n\tformattedPhoneNumber,\r\n\tdefaultCountry,\r\n\tdefaultCallingCode,\r\n\tmetadata\r\n) {\r\n\t// Extract calling code from phone number.\r\n\tlet { countryCallingCode, number } = extractCountryCallingCode(\r\n\t\tparseIncompletePhoneNumber(formattedPhoneNumber),\r\n\t\tdefaultCountry,\r\n\t\tdefaultCallingCode,\r\n\t\tmetadata.metadata\r\n\t)\r\n\r\n\t// Choose a country by `countryCallingCode`.\r\n\tlet country\r\n\tif (countryCallingCode) {\r\n\t\tmetadata.selectNumberingPlan(countryCallingCode)\r\n\t}\r\n\t// If `formattedPhoneNumber` is in \"national\" format\r\n\t// then `number` is defined and `countryCallingCode` isn't.\r\n\telse if (number && (defaultCountry || defaultCallingCode)) {\r\n\t\tmetadata.selectNumberingPlan(defaultCountry, defaultCallingCode)\r\n\t\tif (defaultCountry) {\r\n\t\t\tcountry = defaultCountry\r\n\t\t} else {\r\n\t\t\t/* istanbul ignore if */\r\n\t\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\t\tif (metadata.isNonGeographicCallingCode(defaultCallingCode)) {\r\n\t\t\t\t\tcountry = '001'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tcountryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata.metadata)\r\n\t}\r\n\telse return {}\r\n\r\n\tif (!number) {\r\n\t\treturn { countryCallingCode }\r\n\t}\r\n\r\n\tconst {\r\n\t\tnationalNumber,\r\n\t\tcarrierCode\r\n\t} = extractNationalNumber(\r\n\t\tparseIncompletePhoneNumber(number),\r\n\t\tmetadata\r\n\t)\r\n\r\n\t// Sometimes there are several countries\r\n\t// corresponding to the same country phone code\r\n\t// (e.g. NANPA countries all having `1` country phone code).\r\n\t// Therefore, to reliably determine the exact country,\r\n\t// national (significant) number should have been parsed first.\r\n\t//\r\n\t// When `metadata.json` is generated, all \"ambiguous\" country phone codes\r\n\t// get their countries populated with the full set of\r\n\t// \"phone number type\" regular expressions.\r\n\t//\r\n\tconst exactCountry = getCountryByCallingCode(countryCallingCode, nationalNumber, metadata)\r\n\tif (exactCountry) {\r\n\t\tcountry = exactCountry\r\n\t\t/* istanbul ignore if */\r\n\t\tif (exactCountry === '001') {\r\n\t\t\t// Can't happen with `USE_NON_GEOGRAPHIC_COUNTRY_CODE` being `false`.\r\n\t\t\t// If `USE_NON_GEOGRAPHIC_COUNTRY_CODE` is set to `true` for some reason,\r\n\t\t\t// then remove the \"istanbul ignore if\".\r\n\t\t} else {\r\n\t\t\tmetadata.country(country)\r\n\t\t}\r\n\t}\r\n\r\n\treturn {\r\n\t\tcountry,\r\n\t\tcountryCallingCode,\r\n\t\tnationalNumber,\r\n\t\tcarrierCode\r\n\t}\r\n}","import parseNumber from './parse_'\r\n\r\nexport default function parsePhoneNumber(text, options, metadata) {\r\n\treturn parseNumber(text, { ...options, v2: true }, metadata)\r\n}","import parsePhoneNumber_ from './parsePhoneNumber_'\r\n\r\nexport default function parsePhoneNumber() {\r\n\tconst { text, options, metadata } = normalizeArguments(arguments)\r\n\treturn parsePhoneNumber_(text, options, metadata)\r\n}\r\n\r\nexport function normalizeArguments(args)\r\n{\r\n\tconst [arg_1, arg_2, arg_3, arg_4] = Array.prototype.slice.call(args)\r\n\r\n\tlet text\r\n\tlet options\r\n\tlet metadata\r\n\r\n\t// If the phone number is passed as a string.\r\n\t// `parsePhoneNumber('88005553535', ...)`.\r\n\tif (typeof arg_1 === 'string') {\r\n\t\ttext = arg_1\r\n\t}\r\n\telse throw new TypeError('A text for parsing must be a string.')\r\n\r\n\t// If \"default country\" argument is being passed then move it to `options`.\r\n\t// `parsePhoneNumber('88005553535', 'RU', [options], metadata)`.\r\n\tif (!arg_2 || typeof arg_2 === 'string')\r\n\t{\r\n\t\tif (arg_4) {\r\n\t\t\toptions = arg_3\r\n\t\t\tmetadata = arg_4\r\n\t\t} else {\r\n\t\t\toptions = undefined\r\n\t\t\tmetadata = arg_3\r\n\t\t}\r\n\r\n\t\tif (arg_2) {\r\n\t\t\toptions = { defaultCountry: arg_2, ...options }\r\n\t\t}\r\n\t}\r\n\t// `defaultCountry` is not passed.\r\n\t// Example: `parsePhoneNumber('+78005553535', [options], metadata)`.\r\n\telse if (isObject(arg_2))\r\n\t{\r\n\t\tif (arg_3) {\r\n\t\t\toptions = arg_2\r\n\t\t\tmetadata = arg_3\r\n\t\t} else {\r\n\t\t\tmetadata = arg_2\r\n\t\t}\r\n\t}\r\n\telse throw new Error(`Invalid second argument: ${arg_2}`)\r\n\r\n\treturn {\r\n\t\ttext,\r\n\t\toptions,\r\n\t\tmetadata\r\n\t}\r\n}\r\n\r\n// Otherwise istanbul would show this as \"branch not covered\".\r\n/* istanbul ignore next */\r\nconst isObject = _ => typeof _ === 'object'","import parsePhoneNumber from './parsePhoneNumber_'\r\nimport ParseError from './ParseError'\r\nimport { isSupportedCountry } from './metadata'\r\n\r\nexport default function parsePhoneNumberFromString(text, options, metadata) {\r\n\t// Validate `defaultCountry`.\r\n\tif (options && options.defaultCountry && !isSupportedCountry(options.defaultCountry, metadata)) {\r\n\t\toptions = {\r\n\t\t\t...options,\r\n\t\t\tdefaultCountry: undefined\r\n\t\t}\r\n\t}\r\n\t// Parse phone number.\r\n\ttry {\r\n\t\treturn parsePhoneNumber(text, options, metadata)\r\n\t} catch (error) {\r\n\t\t/* istanbul ignore else */\r\n\t\tif (error instanceof ParseError) {\r\n\t\t\t//\r\n\t\t} else {\r\n\t\t\tthrow error\r\n\t\t}\r\n\t}\r\n}\r\n","import { normalizeArguments } from './parsePhoneNumber'\r\nimport parsePhoneNumberFromString_ from './parsePhoneNumberFromString_'\r\n\r\nexport default function parsePhoneNumberFromString() {\r\n\tconst { text, options, metadata } = normalizeArguments(arguments)\r\n\treturn parsePhoneNumberFromString_(text, options, metadata)\r\n}\r\n","import { normalizeArguments } from './parsePhoneNumber'\r\nimport parsePhoneNumberFromString from './parsePhoneNumberFromString_'\r\n\r\nexport default function isValidPhoneNumber() {\r\n\tlet { text, options, metadata } = normalizeArguments(arguments)\r\n\toptions = {\r\n\t\t...options,\r\n\t\textract: false\r\n\t}\r\n\tconst phoneNumber = parsePhoneNumberFromString(text, options, metadata)\r\n\treturn phoneNumber && phoneNumber.isValid() || false\r\n}","import Metadata from './metadata'\r\n\r\nexport default function getCountries(metadata) {\r\n\treturn new Metadata(metadata).getCountries()\r\n}","import PropTypes from 'prop-types'\r\n\r\nexport const metadata = PropTypes.shape({\r\n\tcountry_calling_codes : PropTypes.object.isRequired,\r\n\tcountries : PropTypes.object.isRequired\r\n})\r\n\r\nexport const labels = PropTypes.objectOf(PropTypes.string)","// Counts all occurences of a symbol in a string\r\nexport function count_occurences(symbol, string) {\r\n\tlet count = 0\r\n\t// Using `.split('')` here instead of normal `for ... of`\r\n\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t// (the ones consisting of four bytes)\r\n\t// but template placeholder characters don't fall into that range\r\n\t// so skipping such miscellaneous \"exotic\" characters\r\n\t// won't matter here for just counting placeholder character occurrences.\r\n\tfor (const character of string.split('')) {\r\n\t\tif (character === symbol) {\r\n\t\t\tcount++\r\n\t\t}\r\n\t}\r\n\treturn count\r\n}","import { count_occurences } from './helpers'\r\n\r\nexport default function closeBraces(retained_template, template, placeholder = 'x', empty_placeholder = ' ')\r\n{\r\n\tlet cut_before = retained_template.length\r\n\r\n\tconst opening_braces = count_occurences('(', retained_template)\r\n\tconst closing_braces = count_occurences(')', retained_template)\r\n\r\n\tlet dangling_braces = opening_braces - closing_braces\r\n\r\n\twhile (dangling_braces > 0 && cut_before < template.length)\r\n\t{\r\n\t\tretained_template += template[cut_before].replace(placeholder, empty_placeholder)\r\n\r\n\t\tif (template[cut_before] === ')')\r\n\t\t{\r\n\t\t\tdangling_braces--\r\n\t\t}\r\n\r\n\t\tcut_before++\r\n\t}\r\n\r\n\treturn retained_template\r\n}\r\n","import template_formatter from './templateFormatter'\r\n\r\n// Formats `value` value preserving `caret` at the same character.\r\n//\r\n// `{ value, caret }` attribute is the result of `parse()` function call.\r\n//\r\n// Returns `{ text, caret }` where the new `caret` is the caret position\r\n// inside `text` text corresponding to the original `caret` position inside `value`.\r\n//\r\n// `formatter(value)` is a function returning `{ text, template }`.\r\n//\r\n// `text` is the `value` value formatted using `template`.\r\n// It may either cut off the non-filled right part of the `template`\r\n// or it may fill the non-filled character placeholders\r\n// in the right part of the `template` with `spacer`\r\n// which is a space (' ') character by default.\r\n//\r\n// `template` is the template used to format the `value`.\r\n// It can be either a full-length template or a partial template.\r\n//\r\n// `formatter` can also be a string — a `template`\r\n// where character placeholders are denoted by 'x'es.\r\n// In this case `formatter` function is automatically created.\r\n//\r\n// Example:\r\n//\r\n// `value` is '880',\r\n// `caret` is `2` (before the first `0`)\r\n//\r\n// `formatter` is `'880' =>\r\n// { text: '8 (80 )', template: 'x (xxx) xxx-xx-xx' }`\r\n//\r\n// The result is `{ text: '8 (80 )', caret: 4 }`.\r\n//\r\nexport default function format(value, caret, formatter)\r\n{\r\n\tif (typeof formatter === 'string')\r\n\t{\r\n\t\tformatter = template_formatter(formatter)\r\n\t}\r\n\r\n\tlet { text, template } = formatter(value) || {}\r\n\r\n\tif (text === undefined)\r\n\t{\r\n\t\t text = value\r\n\t}\r\n\r\n\tif (template)\r\n\t{\r\n\t\tif (caret === undefined)\r\n\t\t{\r\n\t\t\tcaret = text.length\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tlet index = 0\r\n\t\t\tlet found = false\r\n\r\n\t\t\tlet possibly_last_input_character_index = -1\r\n\r\n\t\t\twhile (index < text.length && index < template.length)\r\n\t\t\t{\r\n\t\t\t\t// Character placeholder found\r\n\t\t\t\tif (text[index] !== template[index])\r\n\t\t\t\t{\r\n\t\t\t\t\tif (caret === 0)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfound = true\r\n\t\t\t\t\t\tcaret = index\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tpossibly_last_input_character_index = index\r\n\r\n\t\t\t\t\tcaret--\r\n\t\t\t\t}\r\n\r\n\t\t\t\tindex++\r\n\t\t\t}\r\n\r\n\t\t\t// If the caret was positioned after last input character,\r\n\t\t\t// then the text caret index is just after the last input character.\r\n\t\t\tif (!found)\r\n\t\t\t{\r\n\t\t\t\tcaret = possibly_last_input_character_index + 1\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn { text, caret }\r\n}","import { count_occurences } from './helpers'\r\nimport close_braces from './closeBraces'\r\n\r\n// Takes a `template` where character placeholders\r\n// are denoted by 'x'es (e.g. 'x (xxx) xxx-xx-xx').\r\n//\r\n// Returns a function which takes `value` characters\r\n// and returns the `template` filled with those characters.\r\n// If the `template` can only be partially filled\r\n// then it is cut off.\r\n//\r\n// If `should_close_braces` is `true`,\r\n// then it will also make sure all dangling braces are closed,\r\n// e.g. \"8 (8\" -> \"8 (8 )\" (iPhone style phone number input).\r\n//\r\nexport default function(template, placeholder = 'x', should_close_braces)\r\n{\r\n\tif (!template)\r\n\t{\r\n\t\treturn value => ({ text: value })\r\n\t}\r\n\r\n\tconst characters_in_template = count_occurences(placeholder, template)\r\n\r\n\treturn function(value)\r\n\t{\r\n\t\tif (!value)\r\n\t\t{\r\n\t\t\treturn { text: '', template }\r\n\t\t}\r\n\r\n\t\tlet value_character_index = 0\r\n\t\tlet filled_in_template = ''\r\n\r\n\t\t// Using `.split('')` here instead of normal `for ... of`\r\n\t\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t\t// (the ones consisting of four bytes)\r\n\t\t// but template placeholder characters don't fall into that range\r\n\t\t// and appending UTF-8 characters to a string in parts still works.\r\n\t\tfor (const character of template.split(''))\r\n\t\t{\r\n\t\t\tif (character !== placeholder)\r\n\t\t\t{\r\n\t\t\t\tfilled_in_template += character\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\r\n\t\t\tfilled_in_template += value[value_character_index]\r\n\t\t\tvalue_character_index++\r\n\r\n\t\t\t// If the last available value character has been filled in,\r\n\t\t\t// then return the filled in template\r\n\t\t\t// (either trim the right part or retain it,\r\n\t\t\t// if no more character placeholders in there)\r\n\t\t\tif (value_character_index === value.length)\r\n\t\t\t{\r\n\t\t\t\t// If there are more character placeholders\r\n\t\t\t\t// in the right part of the template\r\n\t\t\t\t// then simply trim it.\r\n\t\t\t\tif (value.length < characters_in_template)\r\n\t\t\t\t{\r\n\t\t\t\t\tbreak\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (should_close_braces)\r\n\t\t{\r\n\t\t\tfilled_in_template = close_braces(filled_in_template, template)\r\n\t\t}\r\n\r\n\t\treturn { text: filled_in_template, template }\r\n\t}\r\n}","export function isReadOnly(element)\r\n{\r\n\treturn element.hasAttribute('readonly')\r\n}\r\n\r\n// Gets selection bounds\r\nexport function getSelection(element)\r\n{\r\n\t// If no selection, return nothing\r\n\tif (element.selectionStart === element.selectionEnd)\r\n\t{\r\n\t\treturn\r\n\t}\r\n\r\n\treturn { start: element.selectionStart, end: element.selectionEnd }\r\n}\r\n\r\n// Key codes\r\nexport const Keys =\r\n{\r\n\tBackspace : 8,\r\n\tDelete : 46\r\n}\r\n\r\n// Finds out the operation to be intercepted and performed\r\n// based on the key down event `keyCode`.\r\nexport function getOperation(event)\r\n{\r\n\tswitch (event.keyCode)\r\n\t{\r\n\t\tcase Keys.Backspace:\r\n\t\t\treturn 'Backspace'\r\n\r\n\t\tcase Keys.Delete:\r\n\t\t\treturn 'Delete'\r\n\t}\r\n}\r\n\r\n// Gets caret position\r\nexport function getCaretPosition(element)\r\n{\r\n\treturn element.selectionStart\r\n}\r\n\r\n// Sets caret position\r\nexport function setCaretPosition(element, caret_position)\r\n{\r\n\t// Sanity check\r\n\tif (caret_position === undefined)\r\n\t{\r\n\t\treturn\r\n\t}\r\n\r\n\t// Set caret position.\r\n\t// There has been an issue with caret positioning on Android devices.\r\n\t// https://github.com/catamphetamine/input-format/issues/2\r\n\t// I was revisiting this issue and looked for similar issues in other libraries.\r\n\t// For example, there's [`text-mask`](https://github.com/text-mask/text-mask) library.\r\n\t// They've had exactly the same issue when the caret seemingly refused to be repositioned programmatically.\r\n\t// The symptoms were the same: whenever the caret passed through a non-digit character of a mask (a whitespace, a bracket, a dash, etc), it looked as if it placed itself one character before its correct position.\r\n\t// https://github.com/text-mask/text-mask/issues/300\r\n\t// They seem to have found a basic fix for it: calling `input.setSelectionRange()` in a timeout rather than instantly for Android devices.\r\n\t// https://github.com/text-mask/text-mask/pull/400/files\r\n\t// I've implemented the same workaround here.\r\n\tif (isAndroid()) {\r\n setTimeout(() => element.setSelectionRange(caret_position, caret_position), 0)\r\n\t} else {\r\n\t\telement.setSelectionRange(caret_position, caret_position)\r\n\t}\r\n}\r\n\r\nfunction isAndroid() {\r\n\t// `navigator` is not defined when running mocha tests.\r\n\tif (typeof navigator !== 'undefined') {\r\n\t\treturn ANDROID_USER_AGENT_REG_EXP.test(navigator.userAgent)\r\n\t}\r\n}\r\n\r\nconst ANDROID_USER_AGENT_REG_EXP = /Android/i","import edit from './edit'\r\nimport parse from './parse'\r\nimport format from './format'\r\n\r\nimport\r\n{\r\n\tisReadOnly,\r\n\tgetOperation,\r\n\tgetSelection,\r\n\tgetCaretPosition,\r\n\tsetCaretPosition\r\n}\r\nfrom './dom'\r\n\r\n// Deprecated.\r\n// I don't know why this function exists.\r\nexport function onCut(event, input, _parse, _format, on_change)\r\n{\r\n\tif (isReadOnly(input)) {\r\n\t\treturn\r\n\t}\r\n\r\n\t// The actual cut hasn't happened just yet hence the timeout.\r\n\tsetTimeout(() => formatInputText(input, _parse, _format, undefined, on_change), 0)\r\n}\r\n\r\n// Deprecated.\r\n// I don't know why this function exists.\r\nexport function onPaste(event, input, _parse, _format, on_change)\r\n{\r\n\tif (isReadOnly(input)) {\r\n\t\treturn\r\n\t}\r\n\r\n\tconst selection = getSelection(input)\r\n\r\n\t// If selection is made,\r\n\t// just erase the selected text\r\n\t// prior to pasting\r\n\tif (selection)\r\n\t{\r\n\t\teraseSelection(input, selection)\r\n\t}\r\n\r\n\tformatInputText(input, _parse, _format, undefined, on_change)\r\n}\r\n\r\nexport function onChange(event, input, _parse, _format, on_change)\r\n{\r\n\tformatInputText(input, _parse, _format, undefined, on_change)\r\n}\r\n\r\n// \"Delete\" and \"Backspace\" keys are special\r\n// in a way that they're not handled by the regular `onChange()` handler\r\n// and instead are intercepted and re-applied manually.\r\n// The reason is that normally hitting \"Backspace\" or \"Delete\"\r\n// results in erasing a character, but that character might be any character,\r\n// while it would be a better \"user experience\" if it erased not just any character\r\n// but the closest \"meaningful\" character.\r\n// For example, if a template is `(xxx) xxx-xxxx`,\r\n// and the `` value is `(111) 222-3333`,\r\n// then, if a user begins erasing the `3333` part via \"Backspace\"\r\n// and reaches the \"-\" character, then it would just erase the \"-\" character.\r\n// Nothing wrong with that, but it would be a better \"user experience\"\r\n// if hitting \"Backspace\" at that position would erase the closest \"meaningful\"\r\n// character, which would be the rightmost `2`.\r\n// So, what this `onKeyDown()` handler does is it intercepts\r\n// \"Backspace\" and \"Delete\" keys and re-applies those operations manually\r\n// following the logic described above.\r\nexport function onKeyDown(event, input, _parse, _format, on_change)\r\n{\r\n\tif (isReadOnly(input)) {\r\n\t\treturn\r\n\t}\r\n\r\n\tconst operation = getOperation(event)\r\n\tswitch (operation)\r\n\t{\r\n\t\tcase 'Delete':\r\n\t\tcase 'Backspace':\r\n\t\t\t// Intercept this operation and perform it manually.\r\n\t\t\tevent.preventDefault()\r\n\r\n\t\t\tconst selection = getSelection(input)\r\n\r\n\t\t\t// If a selection is made, just erase the selected text.\r\n\t\t\tif (selection)\r\n\t\t\t{\r\n\t\t\t\teraseSelection(input, selection)\r\n\t\t\t\treturn formatInputText(input, _parse, _format, undefined, on_change)\r\n\t\t\t}\r\n\r\n\t\t\t// Else, perform the (character erasing) operation manually.\r\n\t\t\treturn formatInputText(input, _parse, _format, operation, on_change)\r\n\r\n\t\tdefault:\r\n\t\t\t// Will be handled normally as part of the `onChange` handler.\r\n\t}\r\n}\r\n\r\n/**\r\n * Erases the selected text inside an ``.\r\n * @param {DOMElement} input\r\n * @param {Selection} selection\r\n */\r\nfunction eraseSelection(input, selection)\r\n{\r\n\tlet text = input.value\r\n\ttext = text.slice(0, selection.start) + text.slice(selection.end)\r\n\r\n\tinput.value = text\r\n\tsetCaretPosition(input, selection.start)\r\n}\r\n\r\n/**\r\n * Parses and re-formats `` textual value.\r\n * E.g. when a user enters something into the ``\r\n * that raw input must first be parsed and the re-formatted properly.\r\n * Is called either after some user input (e.g. entered a character, pasted something)\r\n * or after the user performed an `operation` (e.g. \"Backspace\", \"Delete\").\r\n * @param {DOMElement} input\r\n * @param {Function} parse\r\n * @param {Function} format\r\n * @param {string} [operation] - The operation that triggered `` textual value change. E.g. \"Backspace\", \"Delete\".\r\n * @param {Function} onChange\r\n */\r\nfunction formatInputText(input, _parse, _format, operation, on_change)\r\n{\r\n\t// Parse `` textual value.\r\n\t// Get the `value` and `caret` position.\r\n\tlet { value, caret } = parse(input.value, getCaretPosition(input), _parse)\r\n\r\n\t// If a user performed an operation (\"Backspace\", \"Delete\")\r\n\t// then apply that operation and get the new `value` and `caret` position.\r\n\tif (operation)\r\n\t{\r\n\t\tconst newValueAndCaret = edit(value, caret, operation)\r\n\r\n\t\tvalue = newValueAndCaret.value\r\n\t\tcaret = newValueAndCaret.caret\r\n\t}\r\n\r\n\t// Format the `value`.\r\n\t// (and reposition the caret accordingly)\r\n\tconst formatted = format(value, caret, _format)\r\n\r\n\tconst text = formatted.text\r\n\tcaret = formatted.caret\r\n\r\n\t// Set `` textual value manually\r\n\t// to prevent React from resetting the caret position\r\n\t// later inside a subsequent `render()`.\r\n\t// Doesn't work for custom `inputComponent`s for some reason.\r\n\tinput.value = text\r\n\t// Position the caret properly.\r\n\tsetCaretPosition(input, caret)\r\n\r\n\t// If the `` textual value did change,\r\n\t// then the parsed `value` may have changed too.\r\n\ton_change(value)\r\n}","// Parses the `text`.\r\n//\r\n// Returns `{ value, caret }` where `caret` is\r\n// the caret position inside `value`\r\n// corresponding to the `caret_position` inside `text`.\r\n//\r\n// The `text` is parsed by feeding each character sequentially to\r\n// `parse_character(character, value)` function\r\n// and appending the result (if it's not `undefined`) to `value`.\r\n//\r\n// Example:\r\n//\r\n// `text` is `8 (800) 555-35-35`,\r\n// `caret_position` is `4` (before the first `0`).\r\n// `parse_character` is `(character, value) =>\r\n// if (character >= '0' && character <= '9') { return character }`.\r\n//\r\n// then `parse()` outputs `{ value: '88005553535', caret: 2 }`.\r\n//\r\nexport default function parse(text, caret_position, parse_character)\r\n{\r\n\tlet value = ''\r\n\r\n\tlet focused_input_character_index = 0\r\n\r\n\tlet index = 0\r\n\twhile (index < text.length)\r\n\t{\r\n\t\tconst character = parse_character(text[index], value)\r\n\r\n\t\tif (character !== undefined)\r\n\t\t{\r\n\t\t\tvalue += character\r\n\r\n\t\t\tif (caret_position !== undefined)\r\n\t\t\t{\r\n\t\t\t\tif (caret_position === index)\r\n\t\t\t\t{\r\n\t\t\t\t\tfocused_input_character_index = value.length - 1;\r\n\t\t\t\t}\r\n\t\t\t\telse if (caret_position > index)\r\n\t\t\t\t{\r\n\t\t\t\t\tfocused_input_character_index = value.length\r\n\t\t\t\t}\r\n\t\t\t }\r\n\t\t}\r\n\r\n\t\tindex++\r\n\t}\r\n\r\n\t// If caret position wasn't specified\r\n\tif (caret_position === undefined)\r\n\t{\r\n\t\t// Then set caret position to \"after the last input character\"\r\n\t\tfocused_input_character_index = value.length\r\n\t}\r\n\r\n\tconst result =\r\n\t{\r\n\t\tvalue,\r\n\t\tcaret : focused_input_character_index\r\n\t}\r\n\r\n\treturn result\r\n}","// Edits text `value` (if `operation` is passed) and repositions the `caret` if needed.\r\n//\r\n// Example:\r\n//\r\n// value - '88005553535'\r\n// caret - 2 // starting from 0; is positioned before the first zero\r\n// operation - 'Backspace'\r\n//\r\n// Returns\r\n// {\r\n// \tvalue: '8005553535'\r\n// \tcaret: 1\r\n// }\r\n//\r\n// Currently supports just 'Delete' and 'Backspace' operations\r\n//\r\nexport default function edit(value, caret, operation)\r\n{\r\n\tswitch (operation)\r\n\t{\r\n\t\tcase 'Backspace':\r\n\t\t\t// If there exists the previous character,\r\n\t\t\t// then erase it and reposition the caret.\r\n\t\t\tif (caret > 0)\r\n\t\t\t{\r\n\t\t\t\t// Remove the previous character\r\n\t\t\t\tvalue = value.slice(0, caret - 1) + value.slice(caret)\r\n\t\t\t\t// Position the caret where the previous (erased) character was\r\n\t\t\t\tcaret--\r\n\t\t\t}\r\n\t\t\tbreak\r\n\r\n\t\tcase 'Delete':\r\n\t\t\t// Remove current digit (if any)\r\n\t\t\tvalue = value.slice(0, caret) + value.slice(caret + 1)\r\n\t\t\tbreak\r\n\t}\r\n\r\n\treturn { value, caret }\r\n}","// This is just `./ReactInput.js` rewritten in Hooks.\r\n\r\nimport React, { useCallback, useRef } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport {\r\n\tonChange as onInputChange,\r\n\tonKeyDown as onInputKeyDown\r\n} from '../inputControl'\r\n\r\n// Usage:\r\n//\r\n// this.setState({ phone })}\r\n// \tparse={character => character}\r\n// \tformat={value => ({ text: value, template: 'xxxxxxxx' })}/>\r\n//\r\nfunction Input({\r\n\tvalue,\r\n\tparse,\r\n\tformat,\r\n\tinputComponent: InputComponent,\r\n\tonChange,\r\n\tonKeyDown,\r\n\t...rest\r\n}, ref) {\r\n\tconst internalRef = useRef();\r\n\tconst setRef = useCallback((instance) => {\r\n\t\tinternalRef.current = instance;\r\n\t\tif (ref) {\r\n\t\t\tif (typeof ref === 'function') {\r\n\t\t\t\tref(instance)\r\n\t\t\t} else {\r\n\t\t\t\tref.current = instance\r\n\t\t\t}\r\n\t\t}\r\n\t}, [ref]);\r\n\tconst _onChange = useCallback((event) => {\r\n\t\treturn onInputChange(\r\n\t\t\tevent,\r\n\t\t\tinternalRef.current,\r\n\t\t\tparse,\r\n\t\t\tformat,\r\n\t\t\tonChange\r\n\t\t)\r\n\t}, [internalRef, parse, format, onChange])\r\n\r\n\tconst _onKeyDown = useCallback((event) => {\r\n\t\tif (onKeyDown) {\r\n\t\t\tonKeyDown(event)\r\n\t\t}\r\n\t\treturn onInputKeyDown(\r\n\t\t\tevent,\r\n\t\t\tinternalRef.current,\r\n\t\t\tparse,\r\n\t\t\tformat,\r\n\t\t\tonChange\r\n\t\t)\r\n\t}, [internalRef, parse, format, onChange, onKeyDown])\r\n\r\n\treturn (\r\n\t\t\r\n\t)\r\n}\r\n\r\nInput = React.forwardRef(Input)\r\n\r\nInput.propTypes = {\r\n\t// Parses a single characher of `` text.\r\n\tparse: PropTypes.func.isRequired,\r\n\r\n\t// Formats `value` into `` text.\r\n\tformat: PropTypes.func.isRequired,\r\n\r\n\t// Renders `` by default.\r\n\tinputComponent: PropTypes.elementType.isRequired,\r\n\r\n\t// `` `type` attribute.\r\n\ttype: PropTypes.string.isRequired,\r\n\r\n\t// Is parsed from text.\r\n\tvalue: PropTypes.string,\r\n\r\n\t// This handler is called each time `` text is changed.\r\n\tonChange: PropTypes.func.isRequired,\r\n\r\n\t// Passthrough\r\n\tonKeyDown: PropTypes.func,\r\n\tonCut: PropTypes.func,\r\n\tonPaste: PropTypes.func\r\n}\r\n\r\nInput.defaultProps = {\r\n\t// Renders `` by default.\r\n\tinputComponent: 'input',\r\n\r\n\t// `` `type` attribute.\r\n\ttype: 'text'\r\n}\r\n\r\nexport default Input\r\n\r\nfunction isEmptyValue(value) {\r\n\treturn value === undefined || value === null\r\n}","export default class AsYouTypeState {\r\n\tconstructor({ onCountryChange, onCallingCodeChange }) {\r\n\t\tthis.onCountryChange = onCountryChange\r\n\t\tthis.onCallingCodeChange = onCallingCodeChange\r\n\t}\r\n\r\n\treset(defaultCountry, defaultCallingCode) {\r\n\t\tthis.international = false\r\n\t\tthis.IDDPrefix = undefined\r\n\t\tthis.missingPlus = undefined\r\n\t\tthis.callingCode = undefined\r\n\t\tthis.digits = ''\r\n\t\tthis.resetNationalSignificantNumber()\r\n\t\tthis.initCountryAndCallingCode(defaultCountry, defaultCallingCode)\r\n\t}\r\n\r\n\tresetNationalSignificantNumber() {\r\n\t\tthis.nationalSignificantNumber = this.getNationalDigits()\r\n\t\tthis.nationalSignificantNumberMatchesInput = true\r\n\t\tthis.nationalPrefix = undefined\r\n\t\tthis.carrierCode = undefined\r\n\t\tthis.complexPrefixBeforeNationalSignificantNumber = undefined\r\n\t}\r\n\r\n\tupdate = (properties) => {\r\n\t\tfor (const key of Object.keys(properties)) {\r\n\t\t\tthis[key] = properties[key]\r\n\t\t}\r\n\t}\r\n\r\n\tinitCountryAndCallingCode(country, callingCode) {\r\n\t\tthis.setCountry(country)\r\n\t\tthis.setCallingCode(callingCode)\r\n\t}\r\n\r\n\tsetCountry(country) {\r\n\t\tthis.country = country\r\n\t\tthis.onCountryChange(country)\r\n\t}\r\n\r\n\tsetCallingCode(callingCode) {\r\n\t\tthis.callingCode = callingCode\r\n\t\treturn this.onCallingCodeChange(this.country, callingCode)\r\n\t}\r\n\r\n\tstartInternationalNumber() {\r\n\t\t// Prepend the `+` to parsed input.\r\n\t\tthis.international = true\r\n\t\t// If a default country was set then reset it\r\n\t\t// because an explicitly international phone\r\n\t\t// number is being entered.\r\n\t\tthis.initCountryAndCallingCode()\r\n\t}\r\n\r\n\tappendDigits(nextDigits) {\r\n\t\tthis.digits += nextDigits\r\n\t}\r\n\r\n\tappendNationalSignificantNumberDigits(nextDigits) {\r\n\t\tthis.nationalSignificantNumber += nextDigits\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the part of `this.digits` that corresponds to the national number.\r\n\t * Basically, all digits that have been input by the user, except for the\r\n\t * international prefix and the country calling code part\r\n\t * (if the number is an international one).\r\n\t * @return {string}\r\n\t */\r\n\tgetNationalDigits() {\r\n\t\tif (this.international) {\r\n\t\t\treturn this.digits.slice(\r\n\t\t\t\t(this.IDDPrefix ? this.IDDPrefix.length : 0) +\r\n\t\t\t\t(this.callingCode ? this.callingCode.length : 0)\r\n\t\t\t)\r\n\t\t}\r\n\t\treturn this.digits\r\n\t}\r\n\r\n\tgetDigitsWithoutInternationalPrefix() {\r\n\t\tif (this.international) {\r\n\t\t\tif (this.IDDPrefix) {\r\n\t\t\t\treturn this.digits.slice(this.IDDPrefix.length)\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn this.digits\r\n\t}\r\n}","// Should be the same as `DIGIT_PLACEHOLDER` in `libphonenumber-metadata-generator`.\r\nexport const DIGIT_PLACEHOLDER = 'x' // '\\u2008' (punctuation space)\r\nconst DIGIT_PLACEHOLDER_MATCHER = new RegExp(DIGIT_PLACEHOLDER)\r\n\r\n// Counts all occurences of a symbol in a string.\r\n// Unicode-unsafe (because using `.split()`).\r\nexport function countOccurences(symbol, string) {\r\n\tlet count = 0\r\n\t// Using `.split('')` to iterate through a string here\r\n\t// to avoid requiring `Symbol.iterator` polyfill.\r\n\t// `.split('')` is generally not safe for Unicode,\r\n\t// but in this particular case for counting brackets it is safe.\r\n\t// for (const character of string)\r\n\tfor (const character of string.split('')) {\r\n\t\tif (character === symbol) {\r\n\t\t\tcount++\r\n\t\t}\r\n\t}\r\n\treturn count\r\n}\r\n\r\n// Repeats a string (or a symbol) N times.\r\n// http://stackoverflow.com/questions/202605/repeat-string-javascript\r\nexport function repeat(string, times) {\r\n\tif (times < 1) {\r\n\t\treturn ''\r\n\t}\r\n\tlet result = ''\r\n\twhile (times > 1) {\r\n\t\tif (times & 1) {\r\n\t\t\tresult += string\r\n\t\t}\r\n\t\ttimes >>= 1\r\n\t\tstring += string\r\n\t}\r\n\treturn result + string\r\n}\r\n\r\nexport function cutAndStripNonPairedParens(string, cutBeforeIndex) {\r\n\tif (string[cutBeforeIndex] === ')') {\r\n\t\tcutBeforeIndex++\r\n\t}\r\n\treturn stripNonPairedParens(string.slice(0, cutBeforeIndex))\r\n}\r\n\r\nexport function closeNonPairedParens(template, cut_before) {\r\n\tconst retained_template = template.slice(0, cut_before)\r\n\tconst opening_braces = countOccurences('(', retained_template)\r\n\tconst closing_braces = countOccurences(')', retained_template)\r\n\tlet dangling_braces = opening_braces - closing_braces\r\n\twhile (dangling_braces > 0 && cut_before < template.length) {\r\n\t\tif (template[cut_before] === ')') {\r\n\t\t\tdangling_braces--\r\n\t\t}\r\n\t\tcut_before++\r\n\t}\r\n\treturn template.slice(0, cut_before)\r\n}\r\n\r\nexport function stripNonPairedParens(string) {\r\n\tconst dangling_braces =[]\r\n\tlet i = 0\r\n\twhile (i < string.length) {\r\n\t\tif (string[i] === '(') {\r\n\t\t\tdangling_braces.push(i)\r\n\t\t}\r\n\t\telse if (string[i] === ')') {\r\n\t\t\tdangling_braces.pop()\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\tlet start = 0\r\n\tlet cleared_string = ''\r\n\tdangling_braces.push(string.length)\r\n\tfor (const index of dangling_braces) {\r\n\t\tcleared_string += string.slice(start, index)\r\n\t\tstart = index + 1\r\n\t}\r\n\treturn cleared_string\r\n}\r\n\r\nexport function populateTemplateWithDigits(template, position, digits) {\r\n\t// Using `.split('')` to iterate through a string here\r\n\t// to avoid requiring `Symbol.iterator` polyfill.\r\n\t// `.split('')` is generally not safe for Unicode,\r\n\t// but in this particular case for `digits` it is safe.\r\n\t// for (const digit of digits)\r\n\tfor (const digit of digits.split('')) {\r\n\t\t// If there is room for more digits in current `template`,\r\n\t\t// then set the next digit in the `template`,\r\n\t\t// and return the formatted digits so far.\r\n\t\t// If more digits are entered than the current format could handle.\r\n\t\tif (template.slice(position + 1).search(DIGIT_PLACEHOLDER_MATCHER) < 0) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tposition = template.search(DIGIT_PLACEHOLDER_MATCHER)\r\n\t\ttemplate = template.replace(DIGIT_PLACEHOLDER_MATCHER, digit)\r\n\t}\r\n\treturn [template, position]\r\n}","import checkNumberLength from './helpers/checkNumberLength'\r\nimport parseDigits from './helpers/parseDigits'\r\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat'\r\n\r\nexport default function formatCompleteNumber(state, format, {\r\n\tmetadata,\r\n\tshouldTryNationalPrefixFormattingRule,\r\n\tgetSeparatorAfterNationalPrefix\r\n}) {\r\n\tconst matcher = new RegExp(`^(?:${format.pattern()})$`)\r\n\tif (matcher.test(state.nationalSignificantNumber)) {\r\n\t\treturn formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(\r\n\t\t\tstate,\r\n\t\t\tformat,\r\n\t\t\t{\r\n\t\t\t\tmetadata,\r\n\t\t\t\tshouldTryNationalPrefixFormattingRule,\r\n\t\t\t\tgetSeparatorAfterNationalPrefix\r\n\t\t\t}\r\n\t\t)\r\n\t}\r\n}\r\n\r\nexport function canFormatCompleteNumber(nationalSignificantNumber, metadata) {\r\n\treturn checkNumberLength(nationalSignificantNumber, metadata) === 'IS_POSSIBLE'\r\n}\r\n\r\nfunction formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(state, format, {\r\n\tmetadata,\r\n\tshouldTryNationalPrefixFormattingRule,\r\n\tgetSeparatorAfterNationalPrefix\r\n}) {\r\n\t// `format` has already been checked for `nationalPrefix` requirement.\r\n\r\n\tconst {\r\n\t\tnationalSignificantNumber,\r\n\t\tinternational,\r\n\t\tnationalPrefix,\r\n\t\tcarrierCode\r\n\t} = state\r\n\r\n\t// Format the number with using `national_prefix_formatting_rule`.\r\n\t// If the resulting formatted number is a valid formatted number, then return it.\r\n\t//\r\n\t// Google's AsYouType formatter is different in a way that it doesn't try\r\n\t// to format using the \"national prefix formatting rule\", and instead it\r\n\t// simply prepends a national prefix followed by a \" \" character.\r\n\t// This code does that too, but as a fallback.\r\n\t// The reason is that \"national prefix formatting rule\" may use parentheses,\r\n\t// which wouldn't be included has it used the simpler Google's way.\r\n\t//\r\n\tif (shouldTryNationalPrefixFormattingRule(format)) {\r\n\t\tconst formattedNumber = formatNationalNumber(state, format, {\r\n\t\t\tuseNationalPrefixFormattingRule: true,\r\n\t\t\tgetSeparatorAfterNationalPrefix,\r\n\t\t\tmetadata\r\n\t\t})\r\n\t\tif (formattedNumber) {\r\n\t\t\treturn formattedNumber\r\n\t\t}\r\n\t}\r\n\r\n\t// Format the number without using `national_prefix_formatting_rule`.\r\n\treturn formatNationalNumber(state, format, {\r\n\t\tuseNationalPrefixFormattingRule: false,\r\n\t\tgetSeparatorAfterNationalPrefix,\r\n\t\tmetadata\r\n\t})\r\n}\r\n\r\nfunction formatNationalNumber(state, format, {\r\n\tmetadata,\r\n\tuseNationalPrefixFormattingRule,\r\n\tgetSeparatorAfterNationalPrefix\r\n}) {\r\n\tlet formattedNationalNumber = formatNationalNumberUsingFormat(\r\n\t\tstate.nationalSignificantNumber,\r\n\t\tformat,\r\n\t\t{\r\n\t\t\tcarrierCode: state.carrierCode,\r\n\t\t\tuseInternationalFormat: state.international,\r\n\t\t\twithNationalPrefix: useNationalPrefixFormattingRule,\r\n\t\t\tmetadata\r\n\t\t}\r\n\t)\r\n\tif (!useNationalPrefixFormattingRule) {\r\n\t\tif (state.nationalPrefix) {\r\n\t\t\t// If a national prefix was extracted, then just prepend it,\r\n\t\t\t// followed by a \" \" character.\r\n\t\t\tformattedNationalNumber = state.nationalPrefix +\r\n\t\t\t\tgetSeparatorAfterNationalPrefix(format) +\r\n\t\t\t\tformattedNationalNumber\r\n\t\t} else if (state.complexPrefixBeforeNationalSignificantNumber) {\r\n\t\t\tformattedNationalNumber = state.complexPrefixBeforeNationalSignificantNumber +\r\n\t\t\t\t' ' +\r\n\t\t\t\tformattedNationalNumber\r\n\t\t}\r\n\t}\r\n\tif (isValidFormattedNationalNumber(formattedNationalNumber, state)) {\r\n\t\treturn formattedNationalNumber\r\n\t}\r\n}\r\n\r\n// Check that the formatted phone number contains exactly\r\n// the same digits that have been input by the user.\r\n// For example, when \"0111523456789\" is input for `AR` country,\r\n// the extracted `this.nationalSignificantNumber` is \"91123456789\",\r\n// which means that the national part of `this.digits` isn't simply equal to\r\n// `this.nationalPrefix` + `this.nationalSignificantNumber`.\r\n//\r\n// Also, a `format` can add extra digits to the `this.nationalSignificantNumber`\r\n// being formatted via `metadata[country].national_prefix_transform_rule`.\r\n// For example, for `VI` country, it prepends `340` to the national number,\r\n// and if this check hasn't been implemented, then there would be a bug\r\n// when `340` \"area coude\" is \"duplicated\" during input for `VI` country:\r\n// https://github.com/catamphetamine/libphonenumber-js/issues/318\r\n//\r\n// So, all these \"gotchas\" are filtered out.\r\n//\r\n// In the original Google's code, the comments say:\r\n// \"Check that we didn't remove nor add any extra digits when we matched\r\n// this formatting pattern. This usually happens after we entered the last\r\n// digit during AYTF. Eg: In case of MX, we swallow mobile token (1) when\r\n// formatted but AYTF should retain all the number entered and not change\r\n// in order to match a format (of same leading digits and length) display\r\n// in that way.\"\r\n// \"If it's the same (i.e entered number and format is same), then it's\r\n// safe to return this in formatted number as nothing is lost / added.\"\r\n// Otherwise, don't use this format.\r\n// https://github.com/google/libphonenumber/commit/3e7c1f04f5e7200f87fb131e6f85c6e99d60f510#diff-9149457fa9f5d608a11bb975c6ef4bc5\r\n// https://github.com/google/libphonenumber/commit/3ac88c7106e7dcb553bcc794b15f19185928a1c6#diff-2dcb77e833422ee304da348b905cde0b\r\n//\r\nfunction isValidFormattedNationalNumber(formattedNationalNumber, state) {\r\n\treturn parseDigits(formattedNationalNumber) === state.getNationalDigits()\r\n}","export default class PatternMatcher {\r\n\tconstructor(pattern) {\r\n\t\tthis.matchTree = new PatternParser().parse(pattern)\r\n\t}\r\n\r\n\tmatch(string, { allowOverflow } = {}) {\r\n\t\tif (!string) {\r\n\t\t\tthrow new Error('String is required')\r\n\t\t}\r\n\t\tconst result = match(string.split(''), this.matchTree, true)\r\n\t\tif (result && result.match) {\r\n\t\t\tdelete result.matchedChars\r\n\t\t}\r\n\t\tif (result && result.overflow) {\r\n\t\t\tif (!allowOverflow) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result\r\n\t}\r\n}\r\n\r\nfunction match(characters, tree, last) {\r\n\tif (typeof tree === 'string') {\r\n\t\tif (last) {\r\n\t\t\t// `tree` is always a single character.\r\n\t\t\tif (characters.length > tree.length) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\toverflow: true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst characterString = characters.join('')\r\n\t\tif (tree.indexOf(characterString) === 0) {\r\n\t\t\t// `tree` is always a single character.\r\n\t\t\t// If `tree.indexOf(characterString) === 0`\r\n\t\t\t// then `characters.length === tree.length`.\r\n\t\t\t/* istanbul ignore else */\r\n\t\t\tif (characters.length === tree.length) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tmatch: true,\r\n\t\t\t\t\tmatchedChars: characters\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// `tree` is always a single character.\r\n\t\t\t// If `tree.indexOf(characterString) === 0`\r\n\t\t\t// then `characters.length === tree.length`.\r\n\t\t\t/* istanbul ignore next */\r\n\t\t\treturn {\r\n\t\t\t\tpartialMatch: true,\r\n\t\t\t\t// matchedChars: characters\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (characterString.indexOf(tree) === 0) {\r\n\t\t\treturn {\r\n\t\t\t\tmatch: true,\r\n\t\t\t\tmatchedChars: characters.slice(0, tree.length)\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn\r\n\t}\r\n\r\n\tif (Array.isArray(tree)) {\r\n\t\tlet restCharacters = characters.slice()\r\n\t\tlet i = 0\r\n\t\twhile (i < tree.length) {\r\n\t\t\tconst subtree = tree[i]\r\n\t\t\tconst result = match(restCharacters, subtree, last && (i === tree.length - 1))\r\n\t\t\tif (!result) {\r\n\t\t\t\treturn\r\n\t\t\t} else if (result.overflow) {\r\n\t\t\t\treturn result\r\n\t\t\t} else if (result.match) {\r\n\t\t\t\t// Continue with the next subtree with the rest of the characters.\r\n\t\t\t\trestCharacters = restCharacters.slice(result.matchedChars.length)\r\n\t\t\t\tif (restCharacters.length === 0) {\r\n\t\t\t\t\tif (i === tree.length - 1) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tmatch: true,\r\n\t\t\t\t\t\t\tmatchedChars: characters\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tpartialMatch: true,\r\n\t\t\t\t\t\t\t// matchedChars: characters\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t/* istanbul ignore else */\r\n\t\t\t\tif (result.partialMatch) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tpartialMatch: true,\r\n\t\t\t\t\t\t// matchedChars: characters\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthrow new Error(`Unsupported match result:\\n${JSON.stringify(result, null, 2)}`)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\ti++\r\n\t\t}\r\n\t\t// If `last` then overflow has already been checked\r\n\t\t// by the last element of the `tree` array.\r\n\t\t/* istanbul ignore if */\r\n\t\tif (last) {\r\n\t\t\treturn {\r\n\t\t\t\toverflow: true\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tmatch: true,\r\n\t\t\tmatchedChars: characters.slice(0, characters.length - restCharacters.length)\r\n\t\t}\r\n\t}\r\n\r\n\tswitch (tree.op) {\r\n\t\tcase '|':\r\n\t\t\tlet partialMatch\r\n\t\t\tfor (const branch of tree.args) {\r\n\t\t\t\tconst result = match(characters, branch, last)\r\n\t\t\t\tif (result) {\r\n\t\t\t\t\tif (result.overflow) {\r\n\t\t\t\t\t\treturn result\r\n\t\t\t\t\t} else if (result.match) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tmatch: true,\r\n\t\t\t\t\t\t\tmatchedChars: result.matchedChars\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t/* istanbul ignore else */\r\n\t\t\t\t\t\tif (result.partialMatch) {\r\n\t\t\t\t\t\t\tpartialMatch = true\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthrow new Error(`Unsupported match result:\\n${JSON.stringify(result, null, 2)}`)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (partialMatch) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tpartialMatch: true,\r\n\t\t\t\t\t// matchedChars: ...\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// Not even a partial match.\r\n\t\t\treturn\r\n\r\n\t\tcase '[]':\r\n\t\t\tfor (const char of tree.args) {\r\n\t\t\t\tif (characters[0] === char) {\r\n\t\t\t\t\tif (characters.length === 1) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tmatch: true,\r\n\t\t\t\t\t\t\tmatchedChars: characters\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (last) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\toverflow: true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tmatch: true,\r\n\t\t\t\t\t\tmatchedChars: [char]\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// No character matches.\r\n\t\t\treturn\r\n\r\n\t\t/* istanbul ignore next */\r\n\t\tdefault:\r\n\t\t\tthrow new Error(`Unsupported instruction tree: ${tree}`)\r\n\t}\r\n}\r\n\r\nconst OPERATOR = new RegExp(\r\n\t// any of:\r\n\t'(' +\r\n\t\t// or operator\r\n\t\t'\\\\|' +\r\n\t\t// or\r\n\t\t'|' +\r\n\t\t// or group start\r\n\t\t'\\\\(\\\\?\\\\:' +\r\n\t\t// or\r\n\t\t'|' +\r\n\t\t// or group end\r\n\t\t'\\\\)' +\r\n\t\t// or\r\n\t\t'|' +\r\n\t\t// one-of set start\r\n\t\t'\\\\[' +\r\n\t\t// or\r\n\t\t'|' +\r\n\t\t// one-of set end\r\n\t\t'\\\\]' +\r\n\t')'\r\n)\r\n\r\nconst ILLEGAL_CHARACTER_REGEXP = /[\\(\\)\\[\\]\\?\\:\\|]/\r\n\r\nclass PatternParser {\r\n\tparse(pattern) {\r\n\t\tthis.context = [{\r\n\t\t\tor: true,\r\n\t\t\tinstructions: []\r\n\t\t}]\r\n\r\n\t\tthis.parsePattern(pattern)\r\n\r\n\t\tif (this.context.length !== 1) {\r\n\t\t\tthrow new Error('Non-finalized contexts left when pattern parse ended')\r\n\t\t}\r\n\r\n\t\tconst { branches, instructions } = this.context[0]\r\n\r\n\t\tif (branches) {\r\n\t\t\treturn [{\r\n\t\t\t\top: '|',\r\n\t\t\t\targs: branches.concat([instructions])\r\n\t\t\t}]\r\n\t\t}\r\n\r\n\t\t/* istanbul ignore if */\r\n\t\tif (instructions.length === 0) {\r\n\t\t\tthrow new Error('Pattern is required')\r\n\t\t}\r\n\r\n\t\treturn instructions\r\n\t}\r\n\r\n\tstartContext(context) {\r\n\t\tthis.context.push(context)\r\n\t}\r\n\r\n\tendContext() {\r\n\t\tthis.context.pop()\r\n\t}\r\n\r\n\tgetContext() {\r\n\t\treturn this.context[this.context.length - 1]\r\n\t}\r\n\r\n\tparsePattern(pattern) {\r\n\t\tif (!pattern) {\r\n\t\t\tthrow new Error('Pattern is required')\r\n\t\t}\r\n\r\n\t\tconst match = pattern.match(OPERATOR)\r\n\t\tif (!match) {\r\n\t\t\tif (ILLEGAL_CHARACTER_REGEXP.test(pattern)) {\r\n\t\t\t\tthrow new Error(`Illegal characters found in a pattern: ${pattern}`)\r\n\t\t\t}\r\n\t\t\tthis.getContext().instructions = this.getContext().instructions.concat(\r\n\t\t\t\tpattern.split('')\r\n\t\t\t)\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tconst operator = match[1]\r\n\t\tconst before = pattern.slice(0, match.index)\r\n\t\tconst rightPart = pattern.slice(match.index + operator.length)\r\n\r\n\t\tswitch (operator) {\r\n\t\t\tcase '(?:':\r\n\t\t\t\tif (before) {\r\n\t\t\t\t\tthis.parsePattern(before)\r\n\t\t\t\t}\r\n\t\t\t\tthis.startContext({\r\n\t\t\t\t\tor: true,\r\n\t\t\t\t\tinstructions: [],\r\n\t\t\t\t\tbranches: []\r\n\t\t\t\t})\r\n\t\t\t\tbreak\r\n\r\n\t\t\tcase ')':\r\n\t\t\t\tif (!this.getContext().or) {\r\n\t\t\t\t\tthrow new Error('\")\" operator must be preceded by \"(?:\" operator')\r\n\t\t\t\t}\r\n\t\t\t\tif (before) {\r\n\t\t\t\t\tthis.parsePattern(before)\r\n\t\t\t\t}\r\n\t\t\t\tif (this.getContext().instructions.length === 0) {\r\n\t\t\t\t\tthrow new Error('No instructions found after \"|\" operator in an \"or\" group')\r\n\t\t\t\t}\r\n\t\t\t\tconst { branches } = this.getContext()\r\n\t\t\t\tbranches.push(\r\n\t\t\t\t\tthis.getContext().instructions\r\n\t\t\t\t)\r\n\t\t\t\tthis.endContext()\r\n\t\t\t\tthis.getContext().instructions.push({\r\n\t\t\t\t\top: '|',\r\n\t\t\t\t\targs: branches\r\n\t\t\t\t})\r\n\t\t\t\tbreak\r\n\r\n\t\t\tcase '|':\r\n\t\t\t\tif (!this.getContext().or) {\r\n\t\t\t\t\tthrow new Error('\"|\" operator can only be used inside \"or\" groups')\r\n\t\t\t\t}\r\n\t\t\t\tif (before) {\r\n\t\t\t\t\tthis.parsePattern(before)\r\n\t\t\t\t}\r\n\t\t\t\t// The top-level is an implicit \"or\" group, if required.\r\n\t\t\t\tif (!this.getContext().branches) {\r\n\t\t\t\t\t// `branches` are not defined only for the root implicit \"or\" operator.\r\n\t\t\t\t\t/* istanbul ignore else */\r\n\t\t\t\t\tif (this.context.length === 1) {\r\n\t\t\t\t\t\tthis.getContext().branches = []\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthrow new Error('\"branches\" not found in an \"or\" group context')\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.getContext().branches.push(\r\n\t\t\t\t\tthis.getContext().instructions\r\n\t\t\t\t)\r\n\t\t\t\tthis.getContext().instructions = []\r\n\t\t\t\tbreak\r\n\r\n\t\t\tcase '[':\r\n\t\t\t\tif (before) {\r\n\t\t\t\t\tthis.parsePattern(before)\r\n\t\t\t\t}\r\n\t\t\t\tthis.startContext({\r\n\t\t\t\t\toneOfSet: true\r\n\t\t\t\t})\r\n\t\t\t\tbreak\r\n\r\n\t\t\tcase ']':\r\n\t\t\t\tif (!this.getContext().oneOfSet) {\r\n\t\t\t\t\tthrow new Error('\"]\" operator must be preceded by \"[\" operator')\r\n\t\t\t\t}\r\n\t\t\t\tthis.endContext()\r\n\t\t\t\tthis.getContext().instructions.push({\r\n\t\t\t\t\top: '[]',\r\n\t\t\t\t\targs: parseOneOfSet(before)\r\n\t\t\t\t})\r\n\t\t\t\tbreak\r\n\r\n\t\t\t/* istanbul ignore next */\r\n\t\t\tdefault:\r\n\t\t\t\tthrow new Error(`Unknown operator: ${operator}`)\r\n\t\t}\r\n\r\n\t\tif (rightPart) {\r\n\t\t\tthis.parsePattern(rightPart)\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction parseOneOfSet(pattern) {\r\n\tconst values = []\r\n\tlet i = 0\r\n\twhile (i < pattern.length) {\r\n\t\tif (pattern[i] === '-') {\r\n\t\t\tif (i === 0 || i === pattern.length - 1) {\r\n\t\t\t\tthrow new Error(`Couldn't parse a one-of set pattern: ${pattern}`)\r\n\t\t\t}\r\n\t\t\tconst prevValue = pattern[i - 1].charCodeAt(0) + 1\r\n\t\t\tconst nextValue = pattern[i + 1].charCodeAt(0) - 1\r\n\t\t\tlet value = prevValue\r\n\t\t\twhile (value <= nextValue) {\r\n\t\t\t\tvalues.push(String.fromCharCode(value))\r\n\t\t\t\tvalue++\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvalues.push(pattern[i])\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\treturn values\r\n}","import {\r\n\tDIGIT_PLACEHOLDER,\r\n\tcountOccurences,\r\n\trepeat,\r\n\tcutAndStripNonPairedParens,\r\n\tcloseNonPairedParens,\r\n\tstripNonPairedParens,\r\n\tpopulateTemplateWithDigits\r\n} from './AsYouTypeFormatter.util'\r\n\r\nimport formatCompleteNumber, {\r\n\tcanFormatCompleteNumber\r\n} from './AsYouTypeFormatter.complete'\r\n\r\nimport PatternMatcher from './AsYouTypeFormatter.PatternMatcher'\r\n\r\nimport parseDigits from './helpers/parseDigits'\r\nexport { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.util'\r\nimport { FIRST_GROUP_PATTERN } from './helpers/formatNationalNumberUsingFormat'\r\nimport { VALID_PUNCTUATION } from './constants'\r\nimport applyInternationalSeparatorStyle from './helpers/applyInternationalSeparatorStyle'\r\n\r\n// Used in phone number format template creation.\r\n// Could be any digit, I guess.\r\nconst DUMMY_DIGIT = '9'\r\n// I don't know why is it exactly `15`\r\nconst LONGEST_NATIONAL_PHONE_NUMBER_LENGTH = 15\r\n// Create a phone number consisting only of the digit 9 that matches the\r\n// `number_pattern` by applying the pattern to the \"longest phone number\" string.\r\nconst LONGEST_DUMMY_PHONE_NUMBER = repeat(DUMMY_DIGIT, LONGEST_NATIONAL_PHONE_NUMBER_LENGTH)\r\n\r\n// A set of characters that, if found in a national prefix formatting rules, are an indicator to\r\n// us that we should separate the national prefix from the number when formatting.\r\nconst NATIONAL_PREFIX_SEPARATORS_PATTERN = /[- ]/\r\n\r\n// Deprecated: Google has removed some formatting pattern related code from their repo.\r\n// https://github.com/googlei18n/libphonenumber/commit/a395b4fef3caf57c4bc5f082e1152a4d2bd0ba4c\r\n// \"We no longer have numbers in formatting matching patterns, only \\d.\"\r\n// Because this library supports generating custom metadata\r\n// some users may still be using old metadata so the relevant\r\n// code seems to stay until some next major version update.\r\nconst SUPPORT_LEGACY_FORMATTING_PATTERNS = true\r\n\r\n// A pattern that is used to match character classes in regular expressions.\r\n// An example of a character class is \"[1-4]\".\r\nconst CREATE_CHARACTER_CLASS_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && (() => /\\[([^\\[\\]])*\\]/g)\r\n\r\n// Any digit in a regular expression that actually denotes a digit. For\r\n// example, in the regular expression \"80[0-2]\\d{6,10}\", the first 2 digits\r\n// (8 and 0) are standalone digits, but the rest are not.\r\n// Two look-aheads are needed because the number following \\\\d could be a\r\n// two-digit number, since the phone number can be as long as 15 digits.\r\nconst CREATE_STANDALONE_DIGIT_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && (() => /\\d(?=[^,}][^,}])/g)\r\n\r\n// A regular expression that is used to determine if a `format` is\r\n// suitable to be used in the \"as you type formatter\".\r\n// A `format` is suitable when the resulting formatted number has\r\n// the same digits as the user has entered.\r\n//\r\n// In the simplest case, that would mean that the format\r\n// doesn't add any additional digits when formatting a number.\r\n// Google says that it also shouldn't add \"star\" (`*`) characters,\r\n// like it does in some Israeli formats.\r\n// Such basic format would only contain \"valid punctuation\"\r\n// and \"captured group\" identifiers ($1, $2, etc).\r\n//\r\n// An example of a format that adds additional digits:\r\n//\r\n// Country: `AR` (Argentina).\r\n// Format:\r\n// {\r\n// \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\r\n// \"leading_digits_patterns\": [\"91\"],\r\n// \"national_prefix_formatting_rule\": \"0$1\",\r\n// \"format\": \"$2 15-$3-$4\",\r\n// \"international_format\": \"$1 $2 $3-$4\"\r\n// }\r\n//\r\n// In the format above, the `format` adds `15` to the digits when formatting a number.\r\n// A sidenote: this format actually is suitable because `national_prefix_for_parsing`\r\n// has previously removed `15` from a national number, so re-adding `15` in `format`\r\n// doesn't actually result in any extra digits added to user's input.\r\n// But verifying that would be a complex procedure, so the code chooses a simpler path:\r\n// it simply filters out all `format`s that contain anything but \"captured group\" ids.\r\n//\r\n// This regular expression is called `ELIGIBLE_FORMAT_PATTERN` in Google's\r\n// `libphonenumber` code.\r\n//\r\nconst NON_ALTERING_FORMAT_REG_EXP = new RegExp(\r\n\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t// Google developers say:\r\n\t// \"We require that the first matching group is present in the\r\n\t// output pattern to ensure no data is lost while formatting.\"\r\n\t'\\\\$1' +\r\n\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t'(\\\\$\\\\d[' + VALID_PUNCTUATION + ']*)*' +\r\n\t'$'\r\n)\r\n\r\n// This is the minimum length of the leading digits of a phone number\r\n// to guarantee the first \"leading digits pattern\" for a phone number format\r\n// to be preemptive.\r\nconst MIN_LEADING_DIGITS_LENGTH = 3\r\n\r\nexport default class AsYouTypeFormatter {\r\n\tconstructor({\r\n\t\tstate,\r\n\t\tmetadata\r\n\t}) {\r\n\t\tthis.metadata = metadata\r\n\t\tthis.resetFormat()\r\n\t}\r\n\r\n\tresetFormat() {\r\n\t\tthis.chosenFormat = undefined\r\n\t\tthis.template = undefined\r\n\t\tthis.nationalNumberTemplate = undefined\r\n\t\tthis.populatedNationalNumberTemplate = undefined\r\n\t\tthis.populatedNationalNumberTemplatePosition = -1\r\n\t}\r\n\r\n\treset(numberingPlan, state) {\r\n\t\tthis.resetFormat()\r\n\t\tif (numberingPlan) {\r\n\t\t\tthis.isNANP = numberingPlan.callingCode() === '1'\r\n\t\t\tthis.matchingFormats = numberingPlan.formats()\r\n\t\t\tif (state.nationalSignificantNumber) {\r\n\t\t\t\tthis.narrowDownMatchingFormats(state)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.isNANP = undefined\r\n\t\t\tthis.matchingFormats = []\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Formats an updated phone number.\r\n\t * @param {string} nextDigits — Additional phone number digits.\r\n\t * @param {object} state — `AsYouType` state.\r\n\t * @return {[string]} Returns undefined if the updated phone number can't be formatted using any of the available formats.\r\n\t */\r\n\tformat(nextDigits, state) {\r\n\t\t// See if the phone number digits can be formatted as a complete phone number.\r\n\t\t// If not, use the results from `formatNationalNumberWithNextDigits()`,\r\n\t\t// which formats based on the chosen formatting pattern.\r\n\t\t//\r\n\t\t// Attempting to format complete phone number first is how it's done\r\n\t\t// in Google's `libphonenumber`, so this library just follows it.\r\n\t\t// Google's `libphonenumber` code doesn't explain in detail why does it\r\n\t\t// attempt to format digits as a complete phone number\r\n\t\t// instead of just going with a previoulsy (or newly) chosen `format`:\r\n\t\t//\r\n\t\t// \"Checks to see if there is an exact pattern match for these digits.\r\n\t\t// If so, we should use this instead of any other formatting template\r\n\t\t// whose leadingDigitsPattern also matches the input.\"\r\n\t\t//\r\n\t\tif (canFormatCompleteNumber(state.nationalSignificantNumber, this.metadata)) {\r\n\t\t\tfor (const format of this.matchingFormats) {\r\n\t\t\t\tconst formattedCompleteNumber = formatCompleteNumber(\r\n\t\t\t\t\tstate,\r\n\t\t\t\t\tformat,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tmetadata: this.metadata,\r\n\t\t\t\t\t\tshouldTryNationalPrefixFormattingRule: format => this.shouldTryNationalPrefixFormattingRule(format, {\r\n\t\t\t\t\t\t\tinternational: state.international,\r\n\t\t\t\t\t\t\tnationalPrefix: state.nationalPrefix\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t\tgetSeparatorAfterNationalPrefix: this.getSeparatorAfterNationalPrefix\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t\t\tif (formattedCompleteNumber) {\r\n\t\t\t\t\tthis.resetFormat()\r\n\t\t\t\t\tthis.chosenFormat = format\r\n\t\t\t\t\tthis.setNationalNumberTemplate(formattedCompleteNumber.replace(/\\d/g, DIGIT_PLACEHOLDER), state)\r\n\t\t\t\t\tthis.populatedNationalNumberTemplate = formattedCompleteNumber\r\n\t\t\t\t\t// With a new formatting template, the matched position\r\n\t\t\t\t\t// using the old template needs to be reset.\r\n\t\t\t\t\tthis.populatedNationalNumberTemplatePosition = this.template.lastIndexOf(DIGIT_PLACEHOLDER)\r\n\t\t\t\t\treturn formattedCompleteNumber\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Format the digits as a partial (incomplete) phone number\r\n\t\t// using the previously chosen formatting pattern (or a newly chosen one).\r\n\t\treturn this.formatNationalNumberWithNextDigits(nextDigits, state)\r\n\t}\r\n\r\n\t// Formats the next phone number digits.\r\n\tformatNationalNumberWithNextDigits(nextDigits, state) {\r\n\t\tconst previouslyChosenFormat = this.chosenFormat\r\n\t\t// Choose a format from the list of matching ones.\r\n\t\tconst newlyChosenFormat = this.chooseFormat(state)\r\n\t\tif (newlyChosenFormat) {\r\n\t\t\tif (newlyChosenFormat === previouslyChosenFormat) {\r\n\t\t\t\t// If it can format the next (current) digits\r\n\t\t\t\t// using the previously chosen phone number format\r\n\t\t\t\t// then return the updated formatted number.\r\n\t\t\t\treturn this.formatNextNationalNumberDigits(nextDigits)\r\n\t\t\t} else {\r\n\t\t\t\t// If a more appropriate phone number format\r\n\t\t\t\t// has been chosen for these \"leading digits\",\r\n\t\t\t\t// then re-format the national phone number part\r\n\t\t\t\t// using the newly selected format.\r\n\t\t\t\treturn this.formatNextNationalNumberDigits(state.getNationalDigits())\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tnarrowDownMatchingFormats({\r\n\t\tnationalSignificantNumber,\r\n\t\tnationalPrefix,\r\n\t\tinternational\r\n\t}) {\r\n\t\tconst leadingDigits = nationalSignificantNumber\r\n\r\n\t\t// \"leading digits\" pattern list starts with a\r\n\t\t// \"leading digits\" pattern fitting a maximum of 3 leading digits.\r\n\t\t// So, after a user inputs 3 digits of a national (significant) phone number\r\n\t\t// this national (significant) number can already be formatted.\r\n\t\t// The next \"leading digits\" pattern is for 4 leading digits max,\r\n\t\t// and the \"leading digits\" pattern after it is for 5 leading digits max, etc.\r\n\r\n\t\t// This implementation is different from Google's\r\n\t\t// in that it searches for a fitting format\r\n\t\t// even if the user has entered less than\r\n\t\t// `MIN_LEADING_DIGITS_LENGTH` digits of a national number.\r\n\t\t// Because some leading digit patterns already match for a single first digit.\r\n\t\tlet leadingDigitsPatternIndex = leadingDigits.length - MIN_LEADING_DIGITS_LENGTH\r\n\t\tif (leadingDigitsPatternIndex < 0) {\r\n\t\t\tleadingDigitsPatternIndex = 0\r\n\t\t}\r\n\r\n\t\tthis.matchingFormats = this.matchingFormats.filter(\r\n\t\t\tformat => this.formatSuits(format, international, nationalPrefix)\r\n\t\t\t\t&& this.formatMatches(format, leadingDigits, leadingDigitsPatternIndex)\r\n\t\t)\r\n\r\n\t\t// If there was a phone number format chosen\r\n\t\t// and it no longer holds given the new leading digits then reset it.\r\n\t\t// The test for this `if` condition is marked as:\r\n\t\t// \"Reset a chosen format when it no longer holds given the new leading digits\".\r\n\t\t// To construct a valid test case for this one can find a country\r\n\t\t// in `PhoneNumberMetadata.xml` yielding one format for 3 ``\r\n\t\t// and yielding another format for 4 `` (Australia in this case).\r\n\t\tif (this.chosenFormat && this.matchingFormats.indexOf(this.chosenFormat) === -1) {\r\n\t\t\tthis.resetFormat()\r\n\t\t}\r\n\t}\r\n\r\n\tformatSuits(format, international, nationalPrefix) {\r\n\t\t// When a prefix before a national (significant) number is\r\n\t\t// simply a national prefix, then it's parsed as `this.nationalPrefix`.\r\n\t\t// In more complex cases, a prefix before national (significant) number\r\n\t\t// could include a national prefix as well as some \"capturing groups\",\r\n\t\t// and in that case there's no info whether a national prefix has been parsed.\r\n\t\t// If national prefix is not used when formatting a phone number\r\n\t\t// using this format, but a national prefix has been entered by the user,\r\n\t\t// and was extracted, then discard such phone number format.\r\n\t\t// In Google's \"AsYouType\" formatter code, the equivalent would be this part:\r\n\t\t// https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L175-L184\r\n\t\tif (nationalPrefix &&\r\n\t\t\t!format.usesNationalPrefix() &&\r\n\t\t\t// !format.domesticCarrierCodeFormattingRule() &&\r\n\t\t\t!format.nationalPrefixIsOptionalWhenFormattingInNationalFormat()) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\t// If national prefix is mandatory for this phone number format\r\n\t\t// and there're no guarantees that a national prefix is present in user input\r\n\t\t// then discard this phone number format as not suitable.\r\n\t\t// In Google's \"AsYouType\" formatter code, the equivalent would be this part:\r\n\t\t// https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L185-L193\r\n\t\tif (!international &&\r\n\t\t\t!nationalPrefix &&\r\n\t\t\tformat.nationalPrefixIsMandatoryWhenFormattingInNationalFormat()) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn true\r\n\t}\r\n\r\n\tformatMatches(format, leadingDigits, leadingDigitsPatternIndex) {\r\n\t\tconst leadingDigitsPatternsCount = format.leadingDigitsPatterns().length\r\n\r\n\t\t// If this format is not restricted to a certain\r\n\t\t// leading digits pattern then it fits.\r\n\t\tif (leadingDigitsPatternsCount === 0) {\r\n\t\t\treturn true\r\n\t\t}\r\n\r\n\t\t// Start narrowing down the list of possible formats based on the leading digits.\r\n\t\t// (only previously matched formats take part in the narrowing down process)\r\n\r\n\t\t// `leading_digits_patterns` start with 3 digits min\r\n\t\t// and then go up from there one digit at a time.\r\n\t\tleadingDigitsPatternIndex = Math.min(leadingDigitsPatternIndex, leadingDigitsPatternsCount - 1)\r\n\t\tconst leadingDigitsPattern = format.leadingDigitsPatterns()[leadingDigitsPatternIndex]\r\n\r\n\t\t// Google imposes a requirement on the leading digits\r\n\t\t// to be minimum 3 digits long in order to be eligible\r\n\t\t// for checking those with a leading digits pattern.\r\n\t\t//\r\n\t\t// Since `leading_digits_patterns` start with 3 digits min,\r\n\t\t// Google's original `libphonenumber` library only starts\r\n\t\t// excluding any non-matching formats only when the\r\n\t\t// national number entered so far is at least 3 digits long,\r\n\t\t// otherwise format matching would give false negatives.\r\n\t\t//\r\n\t\t// For example, when the digits entered so far are `2`\r\n\t\t// and the leading digits pattern is `21` –\r\n\t\t// it's quite obvious in this case that the format could be the one\r\n\t\t// but due to the absence of further digits it would give false negative.\r\n\t\t//\r\n\t\t// Also, `leading_digits_patterns` doesn't always correspond to a single\r\n\t\t// digits count. For example, `60|8` pattern would already match `8`\r\n\t\t// but the `60` part would require having at least two leading digits,\r\n\t\t// so the whole pattern would require inputting two digits first in order to\r\n\t\t// decide on whether it matches the input, even when the input is \"80\".\r\n\t\t//\r\n\t\t// This library — `libphonenumber-js` — allows filtering by `leading_digits_patterns`\r\n\t\t// even when there's only 1 or 2 digits of the national (significant) number.\r\n\t\t// To do that, it uses a non-strict pattern matcher written specifically for that.\r\n\t\t//\r\n\t\tif (leadingDigits.length < MIN_LEADING_DIGITS_LENGTH) {\r\n\t\t\t// Before leading digits < 3 matching was implemented:\r\n\t\t\t// return true\r\n\t\t\t//\r\n\t\t\t// After leading digits < 3 matching was implemented:\r\n\t\t\ttry {\r\n\t\t\t\treturn new PatternMatcher(leadingDigitsPattern).match(leadingDigits, { allowOverflow: true }) !== undefined\r\n\t\t\t} catch (error) /* istanbul ignore next */ {\r\n\t\t\t\t// There's a slight possibility that there could be some undiscovered bug\r\n\t\t\t\t// in the pattern matcher code. Since the \"leading digits < 3 matching\"\r\n\t\t\t\t// feature is not \"essential\" for operation, it can fall back to the old way\r\n\t\t\t\t// in case of any issues rather than halting the application's execution.\r\n\t\t\t\tconsole.error(error)\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// If at least `MIN_LEADING_DIGITS_LENGTH` digits of a national number are\r\n\t\t// available then use the usual regular expression matching.\r\n\t\t//\r\n\t\t// The whole pattern is wrapped in round brackets (`()`) because\r\n\t\t// the pattern can use \"or\" operator (`|`) at the top level of the pattern.\r\n\t\t//\r\n\t\treturn new RegExp(`^(${leadingDigitsPattern})`).test(leadingDigits)\r\n\t}\r\n\r\n\tgetFormatFormat(format, international) {\r\n\t\treturn international ? format.internationalFormat() : format.format()\r\n\t}\r\n\r\n\tchooseFormat(state) {\r\n\t\t// When there are multiple available formats, the formatter uses the first\r\n\t\t// format where a formatting template could be created.\r\n\t\tfor (const format of this.matchingFormats.slice()) {\r\n\t\t\t// If this format is currently being used\r\n\t\t\t// and is still suitable, then stick to it.\r\n\t\t\tif (this.chosenFormat === format) {\r\n\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t\t// Sometimes, a formatting rule inserts additional digits in a phone number,\r\n\t\t\t// and \"as you type\" formatter can't do that: it should only use the digits\r\n\t\t\t// that the user has input.\r\n\t\t\t//\r\n\t\t\t// For example, in Argentina, there's a format for mobile phone numbers:\r\n\t\t\t//\r\n\t\t\t// {\r\n\t\t\t// \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\r\n\t\t\t// \"leading_digits_patterns\": [\"91\"],\r\n\t\t\t// \"national_prefix_formatting_rule\": \"0$1\",\r\n\t\t\t// \"format\": \"$2 15-$3-$4\",\r\n\t\t\t// \"international_format\": \"$1 $2 $3-$4\"\r\n\t\t\t// }\r\n\t\t\t//\r\n\t\t\t// In that format, `international_format` is used instead of `format`\r\n\t\t\t// because `format` inserts `15` in the formatted number,\r\n\t\t\t// and `AsYouType` formatter should only use the digits\r\n\t\t\t// the user has actually input, without adding any extra digits.\r\n\t\t\t// In this case, it wouldn't make a difference, because the `15`\r\n\t\t\t// is first stripped when applying `national_prefix_for_parsing`\r\n\t\t\t// and then re-added when using `format`, so in reality it doesn't\r\n\t\t\t// add any new digits to the number, but to detect that, the code\r\n\t\t\t// would have to be more complex: it would have to try formatting\r\n\t\t\t// the digits using the format and then see if any digits have\r\n\t\t\t// actually been added or removed, and then, every time a new digit\r\n\t\t\t// is input, it should re-check whether the chosen format doesn't\r\n\t\t\t// alter the digits.\r\n\t\t\t//\r\n\t\t\t// Google's code doesn't go that far, and so does this library:\r\n\t\t\t// it simply requires that a `format` doesn't add any additonal\r\n\t\t\t// digits to user's input.\r\n\t\t\t//\r\n\t\t\t// Also, people in general should move from inputting phone numbers\r\n\t\t\t// in national format (possibly with national prefixes)\r\n\t\t\t// and use international phone number format instead:\r\n\t\t\t// it's a logical thing in the modern age of mobile phones,\r\n\t\t\t// globalization and the internet.\r\n\t\t\t//\r\n\t\t\t/* istanbul ignore if */\r\n\t\t\tif (!NON_ALTERING_FORMAT_REG_EXP.test(this.getFormatFormat(format, state.international))) {\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\t\t\tif (!this.createTemplateForFormat(format, state)) {\r\n\t\t\t\t// Remove the format if it can't generate a template.\r\n\t\t\t\tthis.matchingFormats = this.matchingFormats.filter(_ => _ !== format)\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\t\t\tthis.chosenFormat = format\r\n\t\t\tbreak\r\n\t\t}\r\n\t\tif (!this.chosenFormat) {\r\n\t\t\t// No format matches the national (significant) phone number.\r\n\t\t\tthis.resetFormat()\r\n\t\t}\r\n\t\treturn this.chosenFormat\r\n\t}\r\n\r\n\tcreateTemplateForFormat(format, state) {\r\n\t\t// The formatter doesn't format numbers when numberPattern contains '|', e.g.\r\n\t\t// (20|3)\\d{4}. In those cases we quickly return.\r\n\t\t// (Though there's no such format in current metadata)\r\n\t\t/* istanbul ignore if */\r\n\t\tif (SUPPORT_LEGACY_FORMATTING_PATTERNS && format.pattern().indexOf('|') >= 0) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// Get formatting template for this phone number format\r\n\t\tconst template = this.getTemplateForFormat(format, state)\r\n\t\t// If the national number entered is too long\r\n\t\t// for any phone number format, then abort.\r\n\t\tif (template) {\r\n\t\t\tthis.setNationalNumberTemplate(template, state)\r\n\t\t\treturn true\r\n\t\t}\r\n\t}\r\n\r\n\tgetSeparatorAfterNationalPrefix = (format) => {\r\n\t\t// `US` metadata doesn't have a `national_prefix_formatting_rule`,\r\n\t\t// so the `if` condition below doesn't apply to `US`,\r\n\t\t// but in reality there shoudl be a separator\r\n\t\t// between a national prefix and a national (significant) number.\r\n\t\t// So `US` national prefix separator is a \"special\" \"hardcoded\" case.\r\n\t\tif (this.isNANP) {\r\n\t\t\treturn ' '\r\n\t\t}\r\n\t\t// If a `format` has a `national_prefix_formatting_rule`\r\n\t\t// and that rule has a separator after a national prefix,\r\n\t\t// then it means that there should be a separator\r\n\t\t// between a national prefix and a national (significant) number.\r\n\t\tif (format &&\r\n\t\t\tformat.nationalPrefixFormattingRule() &&\r\n\t\t\tNATIONAL_PREFIX_SEPARATORS_PATTERN.test(format.nationalPrefixFormattingRule())) {\r\n\t\t\treturn ' '\r\n\t\t}\r\n\t\t// At this point, there seems to be no clear evidence that\r\n\t\t// there should be a separator between a national prefix\r\n\t\t// and a national (significant) number. So don't insert one.\r\n\t\treturn ''\r\n\t}\r\n\r\n\tgetInternationalPrefixBeforeCountryCallingCode({ IDDPrefix, missingPlus }, options) {\r\n\t\tif (IDDPrefix) {\r\n\t\t\treturn options && options.spacing === false ? IDDPrefix : IDDPrefix + ' '\r\n\t\t}\r\n\t\tif (missingPlus) {\r\n\t\t\treturn ''\r\n\t\t}\r\n\t\treturn '+'\r\n\t}\r\n\r\n\tgetTemplate(state) {\r\n\t\tif (!this.template) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// `this.template` holds the template for a \"complete\" phone number.\r\n\t\t// The currently entered phone number is most likely not \"complete\",\r\n\t\t// so trim all non-populated digits.\r\n\t\tlet index = -1\r\n\t\tlet i = 0\r\n\t\tconst internationalPrefix = state.international ? this.getInternationalPrefixBeforeCountryCallingCode(state, { spacing: false }) : ''\r\n\t\twhile (i < internationalPrefix.length + state.getDigitsWithoutInternationalPrefix().length) {\r\n\t\t\tindex = this.template.indexOf(DIGIT_PLACEHOLDER, index + 1)\r\n\t\t\ti++\r\n\t\t}\r\n\t\treturn cutAndStripNonPairedParens(this.template, index + 1)\r\n\t}\r\n\r\n\tsetNationalNumberTemplate(template, state) {\r\n\t\tthis.nationalNumberTemplate = template\r\n\t\tthis.populatedNationalNumberTemplate = template\r\n\t\t// With a new formatting template, the matched position\r\n\t\t// using the old template needs to be reset.\r\n\t\tthis.populatedNationalNumberTemplatePosition = -1\r\n\t\t// For convenience, the public `.template` property\r\n\t\t// contains the whole international number\r\n\t\t// if the phone number being input is international:\r\n\t\t// 'x' for the '+' sign, 'x'es for the country phone code,\r\n\t\t// a spacebar and then the template for the formatted national number.\r\n\t\tif (state.international) {\r\n\t\t\tthis.template =\r\n\t\t\t\tthis.getInternationalPrefixBeforeCountryCallingCode(state).replace(/[\\d\\+]/g, DIGIT_PLACEHOLDER) +\r\n\t\t\t\trepeat(DIGIT_PLACEHOLDER, state.callingCode.length) +\r\n\t\t\t\t' ' +\r\n\t\t\t\ttemplate\r\n\t\t} else {\r\n\t\t\tthis.template = template\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Generates formatting template for a national phone number,\r\n\t * optionally containing a national prefix, for a format.\r\n\t * @param {Format} format\r\n\t * @param {string} nationalPrefix\r\n\t * @return {string}\r\n\t */\r\n\tgetTemplateForFormat(format, {\r\n\t\tnationalSignificantNumber,\r\n\t\tinternational,\r\n\t\tnationalPrefix,\r\n\t\tcomplexPrefixBeforeNationalSignificantNumber\r\n\t}) {\r\n\t\tlet pattern = format.pattern()\r\n\r\n\t\t/* istanbul ignore else */\r\n\t\tif (SUPPORT_LEGACY_FORMATTING_PATTERNS) {\r\n\t\t\tpattern = pattern\r\n\t\t\t\t// Replace anything in the form of [..] with \\d\r\n\t\t\t\t.replace(CREATE_CHARACTER_CLASS_PATTERN(), '\\\\d')\r\n\t\t\t\t// Replace any standalone digit (not the one in `{}`) with \\d\r\n\t\t\t\t.replace(CREATE_STANDALONE_DIGIT_PATTERN(), '\\\\d')\r\n\t\t}\r\n\r\n\t\t// Generate a dummy national number (consisting of `9`s)\r\n\t\t// that fits this format's `pattern`.\r\n\t\t//\r\n\t\t// This match will always succeed,\r\n\t\t// because the \"longest dummy phone number\"\r\n\t\t// has enough length to accomodate any possible\r\n\t\t// national phone number format pattern.\r\n\t\t//\r\n\t\tlet digits = LONGEST_DUMMY_PHONE_NUMBER.match(pattern)[0]\r\n\r\n\t\t// If the national number entered is too long\r\n\t\t// for any phone number format, then abort.\r\n\t\tif (nationalSignificantNumber.length > digits.length) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Get a formatting template which can be used to efficiently format\r\n\t\t// a partial number where digits are added one by one.\r\n\r\n\t\t// Below `strictPattern` is used for the\r\n\t\t// regular expression (with `^` and `$`).\r\n\t\t// This wasn't originally in Google's `libphonenumber`\r\n\t\t// and I guess they don't really need it\r\n\t\t// because they're not using \"templates\" to format phone numbers\r\n\t\t// but I added `strictPattern` after encountering\r\n\t\t// South Korean phone number formatting bug.\r\n\t\t//\r\n\t\t// Non-strict regular expression bug demonstration:\r\n\t\t//\r\n\t\t// this.nationalSignificantNumber : `111111111` (9 digits)\r\n\t\t//\r\n\t\t// pattern : (\\d{2})(\\d{3,4})(\\d{4})\r\n\t\t// format : `$1 $2 $3`\r\n\t\t// digits : `9999999999` (10 digits)\r\n\t\t//\r\n\t\t// '9999999999'.replace(new RegExp(/(\\d{2})(\\d{3,4})(\\d{4})/g), '$1 $2 $3') = \"99 9999 9999\"\r\n\t\t//\r\n\t\t// template : xx xxxx xxxx\r\n\t\t//\r\n\t\t// But the correct template in this case is `xx xxx xxxx`.\r\n\t\t// The template was generated incorrectly because of the\r\n\t\t// `{3,4}` variability in the `pattern`.\r\n\t\t//\r\n\t\t// The fix is, if `this.nationalSignificantNumber` has already sufficient length\r\n\t\t// to satisfy the `pattern` completely then `this.nationalSignificantNumber`\r\n\t\t// is used instead of `digits`.\r\n\r\n\t\tconst strictPattern = new RegExp('^' + pattern + '$')\r\n\t\tconst nationalNumberDummyDigits = nationalSignificantNumber.replace(/\\d/g, DUMMY_DIGIT)\r\n\r\n\t\t// If `this.nationalSignificantNumber` has already sufficient length\r\n\t\t// to satisfy the `pattern` completely then use it\r\n\t\t// instead of `digits`.\r\n\t\tif (strictPattern.test(nationalNumberDummyDigits)) {\r\n\t\t\tdigits = nationalNumberDummyDigits\r\n\t\t}\r\n\r\n\t\tlet numberFormat = this.getFormatFormat(format, international)\r\n\t\tlet nationalPrefixIncludedInTemplate\r\n\r\n\t\t// If a user did input a national prefix (and that's guaranteed),\r\n\t\t// and if a `format` does have a national prefix formatting rule,\r\n\t\t// then see if that national prefix formatting rule\r\n\t\t// prepends exactly the same national prefix the user has input.\r\n\t\t// If that's the case, then use the `format` with the national prefix formatting rule.\r\n\t\t// Otherwise, use the `format` without the national prefix formatting rule,\r\n\t\t// and prepend a national prefix manually to it.\r\n\t\tif (this.shouldTryNationalPrefixFormattingRule(format, { international, nationalPrefix })) {\r\n\t\t\tconst numberFormatWithNationalPrefix = numberFormat.replace(\r\n\t\t\t\tFIRST_GROUP_PATTERN,\r\n\t\t\t\tformat.nationalPrefixFormattingRule()\r\n\t\t\t)\r\n\t\t\t// If `national_prefix_formatting_rule` of a `format` simply prepends\r\n\t\t\t// national prefix at the start of a national (significant) number,\r\n\t\t\t// then such formatting can be used with `AsYouType` formatter.\r\n\t\t\t// There seems to be no `else` case: everywhere in metadata,\r\n\t\t\t// national prefix formatting rule is national prefix + $1,\r\n\t\t\t// or `($1)`, in which case such format isn't even considered\r\n\t\t\t// when the user has input a national prefix.\r\n\t\t\t/* istanbul ignore else */\r\n\t\t\tif (parseDigits(format.nationalPrefixFormattingRule()) === (nationalPrefix || '') + parseDigits('$1')) {\r\n\t\t\t\tnumberFormat = numberFormatWithNationalPrefix\r\n\t\t\t\tnationalPrefixIncludedInTemplate = true\r\n\t\t\t\t// Replace all digits of the national prefix in the formatting template\r\n\t\t\t\t// with `DIGIT_PLACEHOLDER`s.\r\n\t\t\t\tif (nationalPrefix) {\r\n\t\t\t\t\tlet i = nationalPrefix.length\r\n\t\t\t\t\twhile (i > 0) {\r\n\t\t\t\t\t\tnumberFormat = numberFormat.replace(/\\d/, DIGIT_PLACEHOLDER)\r\n\t\t\t\t\t\ti--\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Generate formatting template for this phone number format.\r\n\t\tlet template = digits\r\n\t\t\t// Format the dummy phone number according to the format.\r\n\t\t\t.replace(new RegExp(pattern), numberFormat)\r\n\t\t\t// Replace each dummy digit with a DIGIT_PLACEHOLDER.\r\n\t\t\t.replace(new RegExp(DUMMY_DIGIT, 'g'), DIGIT_PLACEHOLDER)\r\n\r\n\t\t// If a prefix of a national (significant) number is not as simple\r\n\t\t// as just a basic national prefix, then just prepend such prefix\r\n\t\t// before the national (significant) number, optionally spacing\r\n\t\t// the two with a whitespace.\r\n\t\tif (!nationalPrefixIncludedInTemplate) {\r\n\t\t\tif (complexPrefixBeforeNationalSignificantNumber) {\r\n\t\t\t\t// Prepend the prefix to the template manually.\r\n\t\t\t\ttemplate = repeat(DIGIT_PLACEHOLDER, complexPrefixBeforeNationalSignificantNumber.length) +\r\n\t\t\t\t\t' ' +\r\n\t\t\t\t\ttemplate\r\n\t\t\t} else if (nationalPrefix) {\r\n\t\t\t\t// Prepend national prefix to the template manually.\r\n\t\t\t\ttemplate = repeat(DIGIT_PLACEHOLDER, nationalPrefix.length) +\r\n\t\t\t\t\tthis.getSeparatorAfterNationalPrefix(format) +\r\n\t\t\t\t\ttemplate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (international) {\r\n\t\t\ttemplate = applyInternationalSeparatorStyle(template)\r\n\t\t}\r\n\r\n\t\treturn template\r\n\t}\r\n\r\n\tformatNextNationalNumberDigits(digits) {\r\n\t\tconst result = populateTemplateWithDigits(\r\n\t\t\tthis.populatedNationalNumberTemplate,\r\n\t\t\tthis.populatedNationalNumberTemplatePosition,\r\n\t\t\tdigits\r\n\t\t)\r\n\r\n\t\tif (!result) {\r\n\t\t\t// Reset the format.\r\n\t\t\tthis.resetFormat()\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tthis.populatedNationalNumberTemplate = result[0]\r\n\t\tthis.populatedNationalNumberTemplatePosition = result[1]\r\n\r\n\t\t// Return the formatted phone number so far.\r\n\t\treturn cutAndStripNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1)\r\n\r\n\t\t// The old way which was good for `input-format` but is not so good\r\n\t\t// for `react-phone-number-input`'s default input (`InputBasic`).\r\n\t\t// return closeNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1)\r\n\t\t// \t.replace(new RegExp(DIGIT_PLACEHOLDER, 'g'), ' ')\r\n\t}\r\n\r\n\tshouldTryNationalPrefixFormattingRule = (format, { international, nationalPrefix }) => {\r\n\t\tif (format.nationalPrefixFormattingRule()) {\r\n\t\t\t// In some countries, `national_prefix_formatting_rule` is `($1)`,\r\n\t\t\t// so it applies even if the user hasn't input a national prefix.\r\n\t\t\t// `format.usesNationalPrefix()` detects such cases.\r\n\t\t\tconst usesNationalPrefix = format.usesNationalPrefix()\r\n\t\t\tif ((usesNationalPrefix && nationalPrefix) ||\r\n\t\t\t\t(!usesNationalPrefix && !international)) {\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}","import extractCountryCallingCode from './helpers/extractCountryCallingCode'\r\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign'\r\nimport extractNationalNumberFromPossiblyIncompleteNumber from './helpers/extractNationalNumberFromPossiblyIncompleteNumber'\r\nimport stripIddPrefix from './helpers/stripIddPrefix'\r\nimport parseDigits from './helpers/parseDigits'\r\n\r\nimport {\r\n\tVALID_DIGITS,\r\n\tVALID_PUNCTUATION,\r\n\tPLUS_CHARS\r\n} from './constants'\r\n\r\nconst VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART =\r\n\t'[' +\r\n\t\tVALID_PUNCTUATION +\r\n\t\tVALID_DIGITS +\r\n\t']+'\r\n\r\nconst VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN = new RegExp('^' + VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART + '$', 'i')\r\n\r\nconst VALID_FORMATTED_PHONE_NUMBER_PART =\r\n\t'(?:' +\r\n\t\t'[' + PLUS_CHARS + ']' +\r\n\t\t'[' +\r\n\t\t\tVALID_PUNCTUATION +\r\n\t\t\tVALID_DIGITS +\r\n\t\t']*' +\r\n\t\t'|' +\r\n\t\t'[' +\r\n\t\t\tVALID_PUNCTUATION +\r\n\t\t\tVALID_DIGITS +\r\n\t\t']+' +\r\n\t')'\r\n\r\nconst AFTER_PHONE_NUMBER_DIGITS_END_PATTERN = new RegExp(\r\n\t'[^' +\r\n\t\tVALID_PUNCTUATION +\r\n\t\tVALID_DIGITS +\r\n\t']+' +\r\n\t'.*' +\r\n\t'$'\r\n)\r\n\r\n// Tests whether `national_prefix_for_parsing` could match\r\n// different national prefixes.\r\n// Matches anything that's not a digit or a square bracket.\r\nconst COMPLEX_NATIONAL_PREFIX = /[^\\d\\[\\]]/\r\n\r\nexport default class AsYouTypeParser {\r\n\tconstructor({\r\n\t\tdefaultCountry,\r\n\t\tdefaultCallingCode,\r\n\t\tmetadata,\r\n\t\tonNationalSignificantNumberChange\r\n\t}) {\r\n\t\tthis.defaultCountry = defaultCountry\r\n\t\tthis.defaultCallingCode = defaultCallingCode\r\n\t\tthis.metadata = metadata\r\n\t\tthis.onNationalSignificantNumberChange = onNationalSignificantNumberChange\r\n\t}\r\n\r\n\tinput(text, state) {\r\n\t\tconst [formattedDigits, hasPlus] = extractFormattedDigitsAndPlus(text)\r\n\t\tconst digits = parseDigits(formattedDigits)\r\n\t\t// Checks for a special case: just a leading `+` has been entered.\r\n\t\tlet justLeadingPlus\r\n\t\tif (hasPlus) {\r\n\t\t\tif (!state.digits) {\r\n\t\t\t\tstate.startInternationalNumber()\r\n\t\t\t\tif (!digits) {\r\n\t\t\t\t\tjustLeadingPlus = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (digits) {\r\n\t\t\tthis.inputDigits(digits, state)\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tdigits,\r\n\t\t\tjustLeadingPlus\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Inputs \"next\" phone number digits.\r\n\t * @param {string} digits\r\n\t * @return {string} [formattedNumber] Formatted national phone number (if it can be formatted at this stage). Returning `undefined` means \"don't format the national phone number at this stage\".\r\n\t */\r\n\tinputDigits(nextDigits, state) {\r\n\t\tconst { digits } = state\r\n\t\tconst hasReceivedThreeLeadingDigits = digits.length < 3 && digits.length + nextDigits.length >= 3\r\n\r\n\t\t// Append phone number digits.\r\n\t\tstate.appendDigits(nextDigits)\r\n\r\n\t\t// Attempt to extract IDD prefix:\r\n\t\t// Some users input their phone number in international format,\r\n\t\t// but in an \"out-of-country\" dialing format instead of using the leading `+`.\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/185\r\n\t\t// Detect such numbers as soon as there're at least 3 digits.\r\n\t\t// Google's library attempts to extract IDD prefix at 3 digits,\r\n\t\t// so this library just copies that behavior.\r\n\t\t// I guess that's because the most commot IDD prefixes are\r\n\t\t// `00` (Europe) and `011` (US).\r\n\t\t// There exist really long IDD prefixes too:\r\n\t\t// for example, in Australia the default IDD prefix is `0011`,\r\n\t\t// and it could even be as long as `14880011`.\r\n\t\t// An IDD prefix is extracted here, and then every time when\r\n\t\t// there's a new digit and the number couldn't be formatted.\r\n\t\tif (hasReceivedThreeLeadingDigits) {\r\n\t\t\tthis.extractIddPrefix(state)\r\n\t\t}\r\n\r\n\t\tif (this.isWaitingForCountryCallingCode(state)) {\r\n\t\t\tif (!this.extractCountryCallingCode(state)) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tstate.appendNationalSignificantNumberDigits(nextDigits)\r\n\t\t}\r\n\r\n\t\t// If a phone number is being input in international format,\r\n\t\t// then it's not valid for it to have a national prefix.\r\n\t\t// Still, some people incorrectly input such numbers with a national prefix.\r\n\t\t// In such cases, only attempt to strip a national prefix if the number becomes too long.\r\n\t\t// (but that is done later, not here)\r\n\t\tif (!state.international) {\r\n\t\t\tif (!this.hasExtractedNationalSignificantNumber) {\r\n\t\t\t\tthis.extractNationalSignificantNumber(state.getNationalDigits(), state.update)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tisWaitingForCountryCallingCode({ international, callingCode }) {\r\n\t\treturn international && !callingCode\r\n\t}\r\n\r\n\t// Extracts a country calling code from a number\r\n\t// being entered in internatonal format.\r\n\textractCountryCallingCode(state) {\r\n\t\tconst { countryCallingCode, number } = extractCountryCallingCode(\r\n\t\t\t'+' + state.getDigitsWithoutInternationalPrefix(),\r\n\t\t\tthis.defaultCountry,\r\n\t\t\tthis.defaultCallingCode,\r\n\t\t\tthis.metadata.metadata\r\n\t\t)\r\n\t\tif (countryCallingCode) {\r\n\t\t\tstate.setCallingCode(countryCallingCode)\r\n\t\t\tstate.update({\r\n\t\t\t\tnationalSignificantNumber: number\r\n\t\t\t})\r\n\t\t\treturn true\r\n\t\t}\r\n\t}\r\n\r\n\treset(numberingPlan) {\r\n\t\tif (numberingPlan) {\r\n\t\t\tthis.hasSelectedNumberingPlan = true\r\n\t\t\tconst nationalPrefixForParsing = numberingPlan._nationalPrefixForParsing()\r\n\t\t\tthis.couldPossiblyExtractAnotherNationalSignificantNumber = nationalPrefixForParsing && COMPLEX_NATIONAL_PREFIX.test(nationalPrefixForParsing)\r\n\t\t} else {\r\n\t\t\tthis.hasSelectedNumberingPlan = undefined\r\n\t\t\tthis.couldPossiblyExtractAnotherNationalSignificantNumber = undefined\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Extracts a national (significant) number from user input.\r\n\t * Google's library is different in that it only applies `national_prefix_for_parsing`\r\n\t * and doesn't apply `national_prefix_transform_rule` after that.\r\n\t * https://github.com/google/libphonenumber/blob/a3d70b0487875475e6ad659af404943211d26456/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L539\r\n\t * @return {boolean} [extracted]\r\n\t */\r\n\textractNationalSignificantNumber(nationalDigits, setState) {\r\n\t\tif (!this.hasSelectedNumberingPlan) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tconst {\r\n\t\t\tnationalPrefix,\r\n\t\t\tnationalNumber,\r\n\t\t\tcarrierCode\r\n\t\t} = extractNationalNumberFromPossiblyIncompleteNumber(\r\n\t\t\tnationalDigits,\r\n\t\t\tthis.metadata\r\n\t\t)\r\n\t\tif (nationalNumber === nationalDigits) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tthis.onExtractedNationalNumber(\r\n\t\t\tnationalPrefix,\r\n\t\t\tcarrierCode,\r\n\t\t\tnationalNumber,\r\n\t\t\tnationalDigits,\r\n\t\t\tsetState\r\n\t\t)\r\n\t\treturn true\r\n\t}\r\n\r\n\t/**\r\n\t * In Google's code this function is called \"attempt to extract longer NDD\".\r\n\t * \"Some national prefixes are a substring of others\", they say.\r\n\t * @return {boolean} [result] — Returns `true` if extracting a national prefix produced different results from what they were.\r\n\t */\r\n\textractAnotherNationalSignificantNumber(nationalDigits, prevNationalSignificantNumber, setState) {\r\n\t\tif (!this.hasExtractedNationalSignificantNumber) {\r\n\t\t\treturn this.extractNationalSignificantNumber(nationalDigits, setState)\r\n\t\t}\r\n\t\tif (!this.couldPossiblyExtractAnotherNationalSignificantNumber) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tconst {\r\n\t\t\tnationalPrefix,\r\n\t\t\tnationalNumber,\r\n\t\t\tcarrierCode\r\n\t\t} = extractNationalNumberFromPossiblyIncompleteNumber(\r\n\t\t\tnationalDigits,\r\n\t\t\tthis.metadata\r\n\t\t)\r\n\t\t// If a national prefix has been extracted previously,\r\n\t\t// then it's always extracted as additional digits are added.\r\n\t\t// That's assuming `extractNationalNumberFromPossiblyIncompleteNumber()`\r\n\t\t// doesn't do anything different from what it currently does.\r\n\t\t// So, just in case, here's this check, though it doesn't occur.\r\n\t\t/* istanbul ignore if */\r\n\t\tif (nationalNumber === prevNationalSignificantNumber) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tthis.onExtractedNationalNumber(\r\n\t\t\tnationalPrefix,\r\n\t\t\tcarrierCode,\r\n\t\t\tnationalNumber,\r\n\t\t\tnationalDigits,\r\n\t\t\tsetState\r\n\t\t)\r\n\t\treturn true\r\n\t}\r\n\r\n\tonExtractedNationalNumber(\r\n\t\tnationalPrefix,\r\n\t\tcarrierCode,\r\n\t\tnationalSignificantNumber,\r\n\t\tnationalDigits,\r\n\t\tsetState\r\n\t) {\r\n\t\tlet complexPrefixBeforeNationalSignificantNumber\r\n\t\tlet nationalSignificantNumberMatchesInput\r\n\t\t// This check also works with empty `this.nationalSignificantNumber`.\r\n\t\tconst nationalSignificantNumberIndex = nationalDigits.lastIndexOf(nationalSignificantNumber)\r\n\t\t// If the extracted national (significant) number is the\r\n\t\t// last substring of the `digits`, then it means that it hasn't been altered:\r\n\t\t// no digits have been removed from the national (significant) number\r\n\t\t// while applying `national_prefix_transform_rule`.\r\n\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\r\n\t\tif (nationalSignificantNumberIndex >= 0 &&\r\n\t\t\tnationalSignificantNumberIndex === nationalDigits.length - nationalSignificantNumber.length) {\r\n\t\t\tnationalSignificantNumberMatchesInput = true\r\n\t\t\t// If a prefix of a national (significant) number is not as simple\r\n\t\t\t// as just a basic national prefix, then such prefix is stored in\r\n\t\t\t// `this.complexPrefixBeforeNationalSignificantNumber` property and will be\r\n\t\t\t// prepended \"as is\" to the national (significant) number to produce\r\n\t\t\t// a formatted result.\r\n\t\t\tconst prefixBeforeNationalNumber = nationalDigits.slice(0, nationalSignificantNumberIndex)\r\n\t\t\t// `prefixBeforeNationalNumber` is always non-empty,\r\n\t\t\t// because `onExtractedNationalNumber()` isn't called\r\n\t\t\t// when a national (significant) number hasn't been actually \"extracted\":\r\n\t\t\t// when a national (significant) number is equal to the national part of `digits`,\r\n\t\t\t// then `onExtractedNationalNumber()` doesn't get called.\r\n\t\t\tif (prefixBeforeNationalNumber !== nationalPrefix) {\r\n\t\t\t\tcomplexPrefixBeforeNationalSignificantNumber = prefixBeforeNationalNumber\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetState({\r\n\t\t\tnationalPrefix,\r\n\t\t\tcarrierCode,\r\n\t\t\tnationalSignificantNumber,\r\n\t\t\tnationalSignificantNumberMatchesInput,\r\n\t\t\tcomplexPrefixBeforeNationalSignificantNumber\r\n\t\t})\r\n\t\t// `onExtractedNationalNumber()` is only called when\r\n\t\t// the national (significant) number actually did change.\r\n\t\tthis.hasExtractedNationalSignificantNumber = true\r\n\t\tthis.onNationalSignificantNumberChange()\r\n\t}\r\n\r\n\treExtractNationalSignificantNumber(state) {\r\n\t\t// Attempt to extract a national prefix.\r\n\t\t//\r\n\t\t// Some people incorrectly input national prefix\r\n\t\t// in an international phone number.\r\n\t\t// For example, some people write British phone numbers as `+44(0)...`.\r\n\t\t//\r\n\t\t// Also, in some rare cases, it is valid for a national prefix\r\n\t\t// to be a part of an international phone number.\r\n\t\t// For example, mobile phone numbers in Mexico are supposed to be\r\n\t\t// dialled internationally using a `1` national prefix,\r\n\t\t// so the national prefix will be part of an international number.\r\n\t\t//\r\n\t\t// Quote from:\r\n\t\t// https://www.mexperience.com/dialing-cell-phones-in-mexico/\r\n\t\t//\r\n\t\t// \"Dialing a Mexican cell phone from abroad\r\n\t\t// When you are calling a cell phone number in Mexico from outside Mexico,\r\n\t\t// it’s necessary to dial an additional “1” after Mexico’s country code\r\n\t\t// (which is “52”) and before the area code.\r\n\t\t// You also ignore the 045, and simply dial the area code and the\r\n\t\t// cell phone’s number.\r\n\t\t//\r\n\t\t// If you don’t add the “1”, you’ll receive a recorded announcement\r\n\t\t// asking you to redial using it.\r\n\t\t//\r\n\t\t// For example, if you are calling from the USA to a cell phone\r\n\t\t// in Mexico City, you would dial +52 – 1 – 55 – 1234 5678.\r\n\t\t// (Note that this is different to calling a land line in Mexico City\r\n\t\t// from abroad, where the number dialed would be +52 – 55 – 1234 5678)\".\r\n\t\t//\r\n\t\t// Google's demo output:\r\n\t\t// https://libphonenumber.appspot.com/phonenumberparser?number=%2b5215512345678&country=MX\r\n\t\t//\r\n\t\tif (this.extractAnotherNationalSignificantNumber(\r\n\t\t\tstate.getNationalDigits(),\r\n\t\t\tstate.nationalSignificantNumber,\r\n\t\t\tstate.update\r\n\t\t)) {\r\n\t\t\treturn true\r\n\t\t}\r\n\t\t// If no format matches the phone number, then it could be\r\n\t\t// \"a really long IDD\" (quote from a comment in Google's library).\r\n\t\t// An IDD prefix is first extracted when the user has entered at least 3 digits,\r\n\t\t// and then here — every time when there's a new digit and the number\r\n\t\t// couldn't be formatted.\r\n\t\t// For example, in Australia the default IDD prefix is `0011`,\r\n\t\t// and it could even be as long as `14880011`.\r\n\t\t//\r\n\t\t// Could also check `!hasReceivedThreeLeadingDigits` here\r\n\t\t// to filter out the case when this check duplicates the one\r\n\t\t// already performed when there're 3 leading digits,\r\n\t\t// but it's not a big deal, and in most cases there\r\n\t\t// will be a suitable `format` when there're 3 leading digits.\r\n\t\t//\r\n\t\tif (this.extractIddPrefix(state)) {\r\n\t\t\tthis.extractCallingCodeAndNationalSignificantNumber(state)\r\n\t\t\treturn true\r\n\t\t}\r\n\t\t// Google's AsYouType formatter supports sort of an \"autocorrection\" feature\r\n\t\t// when it \"autocorrects\" numbers that have been input for a country\r\n\t\t// with that country's calling code.\r\n\t\t// Such \"autocorrection\" feature looks weird, but different people have been requesting it:\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/376\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/375\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/316\r\n\t\tif (this.fixMissingPlus(state)) {\r\n\t\t\tthis.extractCallingCodeAndNationalSignificantNumber(state)\r\n\t\t\treturn true\r\n\t\t}\r\n\t}\r\n\r\n\textractIddPrefix(state) {\r\n\t\t// An IDD prefix can't be present in a number written with a `+`.\r\n\t\t// Also, don't re-extract an IDD prefix if has already been extracted.\r\n\t\tconst {\r\n\t\t\tinternational,\r\n\t\t\tIDDPrefix,\r\n\t\t\tdigits,\r\n\t\t\tnationalSignificantNumber\r\n\t\t} = state\r\n\t\tif (international || IDDPrefix) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// Some users input their phone number in \"out-of-country\"\r\n\t\t// dialing format instead of using the leading `+`.\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/185\r\n\t\t// Detect such numbers.\r\n\t\tconst numberWithoutIDD = stripIddPrefix(\r\n\t\t\tdigits,\r\n\t\t\tthis.defaultCountry,\r\n\t\t\tthis.defaultCallingCode,\r\n\t\t\tthis.metadata.metadata\r\n\t\t)\r\n\t\tif (numberWithoutIDD !== undefined && numberWithoutIDD !== digits) {\r\n\t\t\t// If an IDD prefix was stripped then convert the IDD-prefixed number\r\n\t\t\t// to international number for subsequent parsing.\r\n\t\t\tstate.update({\r\n\t\t\t\tIDDPrefix: digits.slice(0, digits.length - numberWithoutIDD.length)\r\n\t\t\t})\r\n\t\t\tthis.startInternationalNumber(state)\r\n\t\t\treturn true\r\n\t\t}\r\n\t}\r\n\r\n\tfixMissingPlus(state) {\r\n\t\tif (!state.international) {\r\n\t\t\tconst {\r\n\t\t\t\tcountryCallingCode: newCallingCode,\r\n\t\t\t\tnumber\r\n\t\t\t} = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(\r\n\t\t\t\tstate.digits,\r\n\t\t\t\tthis.defaultCountry,\r\n\t\t\t\tthis.defaultCallingCode,\r\n\t\t\t\tthis.metadata.metadata\r\n\t\t\t)\r\n\t\t\tif (newCallingCode) {\r\n\t\t\t\tstate.update({\r\n\t\t\t\t\tmissingPlus: true\r\n\t\t\t\t})\r\n\t\t\t\tthis.startInternationalNumber(state)\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tstartInternationalNumber(state) {\r\n\t\tstate.startInternationalNumber()\r\n\t\t// If a national (significant) number has been extracted before, reset it.\r\n\t\tif (state.nationalSignificantNumber) {\r\n\t\t\tstate.resetNationalSignificantNumber()\r\n\t\t\tthis.onNationalSignificantNumberChange()\r\n\t\t\tthis.hasExtractedNationalSignificantNumber = undefined\r\n\t\t}\r\n\t}\r\n\r\n\textractCallingCodeAndNationalSignificantNumber(state) {\r\n\t\tif (this.extractCountryCallingCode(state)) {\r\n\t\t\t// `this.extractCallingCode()` is currently called when the number\r\n\t\t\t// couldn't be formatted during the standard procedure.\r\n\t\t\t// Normally, the national prefix would be re-extracted\r\n\t\t\t// for an international number if such number couldn't be formatted,\r\n\t\t\t// but since it's already not able to be formatted,\r\n\t\t\t// there won't be yet another retry, so also extract national prefix here.\r\n\t\t\tthis.extractNationalSignificantNumber(state.getNationalDigits(), state.update)\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Extracts formatted phone number from text (if there's any).\r\n * @param {string} text\r\n * @return {string} [formattedPhoneNumber]\r\n */\r\nfunction extractFormattedPhoneNumber(text) {\r\n\t// Attempt to extract a possible number from the string passed in.\r\n\tconst startsAt = text.search(VALID_FORMATTED_PHONE_NUMBER_PART)\r\n\tif (startsAt < 0) {\r\n\t\treturn\r\n\t}\r\n\t// Trim everything to the left of the phone number.\r\n\ttext = text.slice(startsAt)\r\n\t// Trim the `+`.\r\n\tlet hasPlus\r\n\tif (text[0] === '+') {\r\n\t\thasPlus = true\r\n\t\ttext = text.slice('+'.length)\r\n\t}\r\n\t// Trim everything to the right of the phone number.\r\n\ttext = text.replace(AFTER_PHONE_NUMBER_DIGITS_END_PATTERN, '')\r\n\t// Re-add the previously trimmed `+`.\r\n\tif (hasPlus) {\r\n\t\ttext = '+' + text\r\n\t}\r\n\treturn text\r\n}\r\n\r\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\r\nfunction _extractFormattedDigitsAndPlus(text) {\r\n\t// Extract a formatted phone number part from text.\r\n\tconst extractedNumber = extractFormattedPhoneNumber(text) || ''\r\n\t// Trim a `+`.\r\n\tif (extractedNumber[0] === '+') {\r\n\t\treturn [extractedNumber.slice('+'.length), true]\r\n\t}\r\n\treturn [extractedNumber]\r\n}\r\n\r\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\r\nexport function extractFormattedDigitsAndPlus(text) {\r\n\tlet [formattedDigits, hasPlus] = _extractFormattedDigitsAndPlus(text)\r\n\t// If the extracted phone number part\r\n\t// can possibly be a part of some valid phone number\r\n\t// then parse phone number characters from a formatted phone number.\r\n\tif (!VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN.test(formattedDigits)) {\r\n\t\tformattedDigits = ''\r\n\t}\r\n\treturn [formattedDigits, hasPlus]\r\n}","import Metadata from './metadata'\r\nimport PhoneNumber from './PhoneNumber'\r\nimport AsYouTypeState from './AsYouTypeState'\r\nimport AsYouTypeFormatter, { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter'\r\nimport AsYouTypeParser, { extractFormattedDigitsAndPlus } from './AsYouTypeParser'\r\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode'\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\nexport default class AsYouType {\r\n\t/**\r\n\t * @param {(string|object)?} [optionsOrDefaultCountry] - The default country used for parsing non-international phone numbers. Can also be an `options` object.\r\n\t * @param {Object} metadata\r\n\t */\r\n\tconstructor(optionsOrDefaultCountry, metadata) {\r\n\t\tthis.metadata = new Metadata(metadata)\r\n\t\tconst [defaultCountry, defaultCallingCode] = this.getCountryAndCallingCode(optionsOrDefaultCountry)\r\n\t\tthis.defaultCountry = defaultCountry\r\n\t\tthis.defaultCallingCode = defaultCallingCode\r\n\t\tthis.reset()\r\n\t}\r\n\r\n\tgetCountryAndCallingCode(optionsOrDefaultCountry) {\r\n\t\t// Set `defaultCountry` and `defaultCallingCode` options.\r\n\t\tlet defaultCountry\r\n\t\tlet defaultCallingCode\r\n\t\t// Turns out `null` also has type \"object\". Weird.\r\n\t\tif (optionsOrDefaultCountry) {\r\n\t\t\tif (typeof optionsOrDefaultCountry === 'object') {\r\n\t\t\t\tdefaultCountry = optionsOrDefaultCountry.defaultCountry\r\n\t\t\t\tdefaultCallingCode = optionsOrDefaultCountry.defaultCallingCode\r\n\t\t\t} else {\r\n\t\t\t\tdefaultCountry = optionsOrDefaultCountry\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (defaultCountry && !this.metadata.hasCountry(defaultCountry)) {\r\n\t\t\tdefaultCountry = undefined\r\n\t\t}\r\n\t\tif (defaultCallingCode) {\r\n\t\t\t/* istanbul ignore if */\r\n\t\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\t\tif (this.metadata.isNonGeographicCallingCode(defaultCallingCode)) {\r\n\t\t\t\t\tdefaultCountry = '001'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn [defaultCountry, defaultCallingCode]\r\n\t}\r\n\r\n\t/**\r\n\t * Inputs \"next\" phone number characters.\r\n\t * @param {string} text\r\n\t * @return {string} Formatted phone number characters that have been input so far.\r\n\t */\r\n\tinput(text) {\r\n\t\tconst {\r\n\t\t\tdigits,\r\n\t\t\tjustLeadingPlus\r\n\t\t} = this.parser.input(text, this.state)\r\n\t\tif (justLeadingPlus) {\r\n\t\t\tthis.formattedOutput = '+'\r\n\t\t} else if (digits) {\r\n\t\t\tthis.determineTheCountryIfNeeded()\r\n\t\t\t// Match the available formats by the currently available leading digits.\r\n\t\t\tif (this.state.nationalSignificantNumber) {\r\n\t\t\t\tthis.formatter.narrowDownMatchingFormats(this.state)\r\n\t\t\t}\r\n\t\t\tlet formattedNationalNumber\r\n\t\t\tif (this.metadata.hasSelectedNumberingPlan()) {\r\n\t\t\t\tformattedNationalNumber = this.formatter.format(digits, this.state)\r\n\t\t\t}\r\n\t\t\tif (formattedNationalNumber === undefined) {\r\n\t\t\t\t// See if another national (significant) number could be re-extracted.\r\n\t\t\t\tif (this.parser.reExtractNationalSignificantNumber(this.state)) {\r\n\t\t\t\t\tthis.determineTheCountryIfNeeded()\r\n\t\t\t\t\t// If it could, then re-try formatting the new national (significant) number.\r\n\t\t\t\t\tconst nationalDigits = this.state.getNationalDigits()\r\n\t\t\t\t\tif (nationalDigits) {\r\n\t\t\t\t\t\tformattedNationalNumber = this.formatter.format(nationalDigits, this.state)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.formattedOutput = formattedNationalNumber\r\n\t\t\t\t? this.getFullNumber(formattedNationalNumber)\r\n\t\t\t\t: this.getNonFormattedNumber()\r\n\t\t}\r\n\t\treturn this.formattedOutput\r\n\t}\r\n\r\n\treset() {\r\n\t\tthis.state = new AsYouTypeState({\r\n\t\t\tonCountryChange: (country) => {\r\n\t\t\t\t// Before version `1.6.0`, the official `AsYouType` formatter API\r\n\t\t\t\t// included the `.country` property of an `AsYouType` instance.\r\n\t\t\t\t// Since that property (along with the others) have been moved to\r\n\t\t\t\t// `this.state`, `this.country` property is emulated for compatibility\r\n\t\t\t\t// with the old versions.\r\n\t\t\t\tthis.country = country\r\n\t\t\t},\r\n\t\t\tonCallingCodeChange: (country, callingCode) => {\r\n\t\t\t\tthis.metadata.selectNumberingPlan(country, callingCode)\r\n\t\t\t\tthis.formatter.reset(this.metadata.numberingPlan, this.state)\r\n\t\t\t\tthis.parser.reset(this.metadata.numberingPlan)\r\n\t\t\t}\r\n\t\t})\r\n\t\tthis.formatter = new AsYouTypeFormatter({\r\n\t\t\tstate: this.state,\r\n\t\t\tmetadata: this.metadata\r\n\t\t})\r\n\t\tthis.parser = new AsYouTypeParser({\r\n\t\t\tdefaultCountry: this.defaultCountry,\r\n\t\t\tdefaultCallingCode: this.defaultCallingCode,\r\n\t\t\tmetadata: this.metadata,\r\n\t\t\tstate: this.state,\r\n\t\t\tonNationalSignificantNumberChange: () => {\r\n\t\t\t\tthis.determineTheCountryIfNeeded()\r\n\t\t\t\tthis.formatter.reset(this.metadata.numberingPlan, this.state)\r\n\t\t\t}\r\n\t\t})\r\n\t\tthis.state.reset(this.defaultCountry, this.defaultCallingCode)\r\n\t\tthis.formattedOutput = ''\r\n\t\treturn this\r\n\t}\r\n\r\n\t/**\r\n\t * Returns `true` if the phone number is being input in international format.\r\n\t * In other words, returns `true` if and only if the parsed phone number starts with a `\"+\"`.\r\n\t * @return {boolean}\r\n\t */\r\n\tisInternational() {\r\n\t\treturn this.state.international\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the \"calling code\" part of the phone number when it's being input\r\n\t * in an international format.\r\n\t * If no valid calling code has been entered so far, returns `undefined`.\r\n\t * @return {string} [callingCode]\r\n\t */\r\n\tgetCallingCode() {\r\n\t\t // If the number is being input in national format and some \"default calling code\"\r\n\t\t // has been passed to `AsYouType` constructor, then `this.state.callingCode`\r\n\t\t // is equal to that \"default calling code\".\r\n\t\t //\r\n\t\t // If the number is being input in national format and no \"default calling code\"\r\n\t\t // has been passed to `AsYouType` constructor, then returns `undefined`,\r\n\t\t // even if a \"default country\" has been passed to `AsYouType` constructor.\r\n\t\t //\r\n\t\tif (this.isInternational()) {\r\n\t\t\treturn this.state.callingCode\r\n\t\t}\r\n\t}\r\n\r\n\t// A legacy alias.\r\n\tgetCountryCallingCode() {\r\n\t\treturn this.getCallingCode()\r\n\t}\r\n\r\n\t/**\r\n\t * Returns a two-letter country code of the phone number.\r\n\t * Returns `undefined` for \"non-geographic\" phone numbering plans.\r\n\t * Returns `undefined` if no phone number has been input yet.\r\n\t * @return {string} [country]\r\n\t */\r\n\tgetCountry() {\r\n\t\tconst { digits } = this.state\r\n\t\t// Return `undefined` if no digits have been input yet.\r\n\t\tif (digits) {\r\n\t\t\treturn this._getCountry()\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Returns a two-letter country code of the phone number.\r\n\t * Returns `undefined` for \"non-geographic\" phone numbering plans.\r\n\t * @return {string} [country]\r\n\t */\r\n\t_getCountry() {\r\n\t\tconst { country } = this.state\r\n\t\t/* istanbul ignore if */\r\n\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\t// `AsYouType.getCountry()` returns `undefined`\r\n\t\t\t// for \"non-geographic\" phone numbering plans.\r\n\t\t\tif (country === '001') {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn country\r\n\t}\r\n\r\n\tdetermineTheCountryIfNeeded() {\r\n\t\t// Suppose a user enters a phone number in international format,\r\n\t\t// and there're several countries corresponding to that country calling code,\r\n\t\t// and a country has been derived from the number, and then\r\n\t\t// a user enters one more digit and the number is no longer\r\n\t\t// valid for the derived country, so the country should be re-derived\r\n\t\t// on every new digit in those cases.\r\n\t\t//\r\n\t\t// If the phone number is being input in national format,\r\n\t\t// then it could be a case when `defaultCountry` wasn't specified\r\n\t\t// when creating `AsYouType` instance, and just `defaultCallingCode` was specified,\r\n\t\t// and that \"calling code\" could correspond to a \"non-geographic entity\",\r\n\t\t// or there could be several countries corresponding to that country calling code.\r\n\t\t// In those cases, `this.country` is `undefined` and should be derived\r\n\t\t// from the number. Again, if country calling code is ambiguous, then\r\n\t\t// `this.country` should be re-derived with each new digit.\r\n\t\t//\r\n\t\tif (!this.state.country || this.isCountryCallingCodeAmbiguous()) {\r\n\t\t\tthis.determineTheCountry()\r\n\t\t}\r\n\t}\r\n\r\n\t// Prepends `+CountryCode ` in case of an international phone number\r\n\tgetFullNumber(formattedNationalNumber) {\r\n\t\tif (this.isInternational()) {\r\n\t\t\tconst prefix = (text) => this.formatter.getInternationalPrefixBeforeCountryCallingCode(this.state, {\r\n\t\t\t\tspacing: text ? true : false\r\n\t\t\t}) + text\r\n\t\t\tconst { callingCode } = this.state\r\n\t\t\tif (!callingCode) {\r\n\t\t\t\treturn prefix(`${this.state.getDigitsWithoutInternationalPrefix()}`)\r\n\t\t\t}\r\n\t\t\tif (!formattedNationalNumber) {\r\n\t\t\t\treturn prefix(callingCode)\r\n\t\t\t}\r\n\t\t\treturn prefix(`${callingCode} ${formattedNationalNumber}`)\r\n\t\t}\r\n\t\treturn formattedNationalNumber\r\n\t}\r\n\r\n\tgetNonFormattedNationalNumberWithPrefix() {\r\n\t\tconst {\r\n\t\t\tnationalSignificantNumber,\r\n\t\t\tcomplexPrefixBeforeNationalSignificantNumber,\r\n\t\t\tnationalPrefix\r\n\t\t} = this.state\r\n\t\tlet number = nationalSignificantNumber\r\n\t\tconst prefix = complexPrefixBeforeNationalSignificantNumber || nationalPrefix\r\n\t\tif (prefix) {\r\n\t\t\tnumber = prefix + number\r\n\t\t}\r\n\t\treturn number\r\n\t}\r\n\r\n\tgetNonFormattedNumber() {\r\n\t\tconst { nationalSignificantNumberMatchesInput } = this.state\r\n\t\treturn this.getFullNumber(\r\n\t\t\tnationalSignificantNumberMatchesInput\r\n\t\t\t\t? this.getNonFormattedNationalNumberWithPrefix()\r\n\t\t\t\t: this.state.getNationalDigits()\r\n\t\t)\r\n\t}\r\n\r\n\tgetNonFormattedTemplate() {\r\n\t\tconst number = this.getNonFormattedNumber()\r\n\t\tif (number) {\r\n\t\t\treturn number.replace(/[\\+\\d]/g, DIGIT_PLACEHOLDER)\r\n\t\t}\r\n\t}\r\n\r\n\tisCountryCallingCodeAmbiguous() {\r\n\t\tconst { callingCode } = this.state\r\n\t\tconst countryCodes = this.metadata.getCountryCodesForCallingCode(callingCode)\r\n\t\treturn countryCodes && countryCodes.length > 1\r\n\t}\r\n\r\n\t// Determines the country of the phone number\r\n\t// entered so far based on the country phone code\r\n\t// and the national phone number.\r\n\tdetermineTheCountry() {\r\n\t\tthis.state.setCountry(getCountryByCallingCode(\r\n\t\t\tthis.isInternational() ? this.state.callingCode : this.defaultCallingCode,\r\n\t\t\tthis.state.nationalSignificantNumber,\r\n\t\t\tthis.metadata\r\n\t\t))\r\n\t}\r\n\r\n\t/**\r\n\t * Returns a E.164 phone number value for the user's input.\r\n\t *\r\n\t * For example, for country `\"US\"` and input `\"(222) 333-4444\"`\r\n\t * it will return `\"+12223334444\"`.\r\n\t *\r\n\t * For international phone number input, it will also auto-correct\r\n\t * some minor errors such as using a national prefix when writing\r\n\t * an international phone number. For example, if the user inputs\r\n\t * `\"+44 0 7400 000000\"` then it will return an auto-corrected\r\n\t * `\"+447400000000\"` phone number value.\r\n\t *\r\n\t * Will return `undefined` if no digits have been input,\r\n\t * or when inputting a phone number in national format and no\r\n\t * default country or default \"country calling code\" have been set.\r\n\t *\r\n\t * @return {string} [value]\r\n\t */\r\n\tgetNumberValue() {\r\n\t\tconst {\r\n\t\t\tdigits,\r\n\t\t\tcallingCode,\r\n\t\t\tcountry,\r\n\t\t\tnationalSignificantNumber\r\n\t\t} = this.state\r\n\r\n\t \t// Will return `undefined` if no digits have been input.\r\n\t\tif (!digits) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tif (this.isInternational()) {\r\n\t\t\tif (callingCode) {\r\n\t\t\t\treturn '+' + callingCode + nationalSignificantNumber\r\n\t\t\t} else {\r\n\t\t\t\treturn '+' + digits\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (country || callingCode) {\r\n\t\t\t\tconst callingCode_ = country ? this.metadata.countryCallingCode() : callingCode\r\n\t\t\t\treturn '+' + callingCode_ + nationalSignificantNumber\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Returns an instance of `PhoneNumber` class.\r\n\t * Will return `undefined` if no national (significant) number\r\n\t * digits have been entered so far, or if no `defaultCountry` has been\r\n\t * set and the user enters a phone number not in international format.\r\n\t */\r\n\tgetNumber() {\r\n\t\tconst {\r\n\t\t\tnationalSignificantNumber,\r\n\t\t\tcarrierCode,\r\n\t\t\tcallingCode\r\n\t\t} = this.state\r\n\r\n\t\t// `this._getCountry()` is basically same as `this.state.country`\r\n\t\t// with the only change that it return `undefined` in case of a\r\n\t\t// \"non-geographic\" numbering plan instead of `\"001\"` \"internal use\" value.\r\n\t\tconst country = this._getCountry()\r\n\r\n\t\tif (!nationalSignificantNumber) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tif (!country && !callingCode) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tconst phoneNumber = new PhoneNumber(\r\n\t\t\tcountry || callingCode,\r\n\t\t\tnationalSignificantNumber,\r\n\t\t\tthis.metadata.metadata\r\n\t\t)\r\n\t\tif (carrierCode) {\r\n\t\t\tphoneNumber.carrierCode = carrierCode\r\n\t\t}\r\n\t\t// Phone number extensions are not supported by \"As You Type\" formatter.\r\n\t\treturn phoneNumber\r\n\t}\r\n\r\n\t/**\r\n\t * Returns `true` if the phone number is \"possible\".\r\n\t * Is just a shortcut for `PhoneNumber.isPossible()`.\r\n\t * @return {boolean}\r\n\t */\r\n\tisPossible() {\r\n\t\tconst phoneNumber = this.getNumber()\r\n\t\tif (!phoneNumber) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn phoneNumber.isPossible()\r\n\t}\r\n\r\n\t/**\r\n\t * Returns `true` if the phone number is \"valid\".\r\n\t * Is just a shortcut for `PhoneNumber.isValid()`.\r\n\t * @return {boolean}\r\n\t */\r\n\tisValid() {\r\n\t\tconst phoneNumber = this.getNumber()\r\n\t\tif (!phoneNumber) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn phoneNumber.isValid()\r\n\t}\r\n\r\n\t/**\r\n\t * @deprecated\r\n\t * This method is used in `react-phone-number-input/source/input-control.js`\r\n\t * in versions before `3.0.16`.\r\n\t */\r\n\tgetNationalNumber() {\r\n\t\treturn this.state.nationalSignificantNumber\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the phone number characters entered by the user.\r\n\t * @return {string}\r\n\t */\r\n\tgetChars() {\r\n\t\treturn (this.state.international ? '+' : '') + this.state.digits\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the template for the formatted phone number.\r\n\t * @return {string}\r\n\t */\r\n\tgetTemplate() {\r\n\t\treturn this.formatter.getTemplate(this.state) || this.getNonFormattedTemplate() || ''\r\n\t}\r\n}","import { getCountryCallingCode } from 'libphonenumber-js/core'\r\n\r\nexport function getInputValuePrefix({\r\n\tcountry,\r\n\tinternational,\r\n\twithCountryCallingCode,\r\n\tmetadata\r\n}) {\r\n\treturn country && international && !withCountryCallingCode ?\r\n\t\t`+${getCountryCallingCode(country, metadata)}` :\r\n\t\t''\r\n}\r\n\r\nexport function removeInputValuePrefix(value, prefix) {\r\n\tif (prefix) {\r\n\t\tvalue = value.slice(prefix.length)\r\n\t\tif (value[0] === ' ') {\r\n\t\t\tvalue = value.slice(1)\r\n\t\t}\r\n\t}\r\n\treturn value\r\n}","import React, { useCallback } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport Input from 'input-format/react'\r\nimport { AsYouType, parsePhoneNumberCharacter } from 'libphonenumber-js/core'\r\n\r\nimport { getInputValuePrefix, removeInputValuePrefix } from './helpers/inputValuePrefix'\r\n\r\nexport function createInput(defaultMetadata)\r\n{\r\n\t/**\r\n\t * `InputSmart` is a \"smarter\" implementation of a `Component`\r\n\t * that can be passed to ``. It parses and formats\r\n\t * the user's and maintains the caret's position in the process.\r\n\t * The caret positioning is maintained using `input-format` library.\r\n\t * Relies on being run in a DOM environment for calling caret positioning functions.\r\n\t */\r\n\tfunction InputSmart({\r\n\t\tcountry,\r\n\t\tinternational,\r\n\t\twithCountryCallingCode,\r\n\t\tmetadata,\r\n\t\t...rest\r\n\t}, ref) {\r\n\t\tconst format = useCallback((value) => {\r\n\t\t\t// \"As you type\" formatter.\r\n\t\t\tconst formatter = new AsYouType(country, metadata)\r\n\t\t\tconst prefix = getInputValuePrefix({\r\n\t\t\t\tcountry,\r\n\t\t\t\tinternational,\r\n\t\t\t\twithCountryCallingCode,\r\n\t\t\t\tmetadata\r\n\t\t\t})\r\n\t\t\t// Format the number.\r\n\t\t\tlet text = formatter.input(prefix + value)\r\n\t\t\tlet template = formatter.getTemplate()\r\n\t\t\tif (prefix) {\r\n\t\t\t\ttext = removeInputValuePrefix(text, prefix)\r\n\t\t\t\t// `AsYouType.getTemplate()` can be `undefined`.\r\n\t\t\t\tif (template) {\r\n\t\t\t\t\ttemplate = removeInputValuePrefix(template, prefix)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\ttext,\r\n\t\t\t\ttemplate\r\n\t\t\t}\r\n\t\t}, [country, metadata])\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tInputSmart = React.forwardRef(InputSmart)\r\n\r\n\tInputSmart.propTypes = {\r\n\t\t/**\r\n\t\t * The parsed phone number.\r\n\t\t * \"Parsed\" not in a sense of \"E.164\"\r\n\t\t * but rather in a sense of \"having only\r\n\t\t * digits and possibly a leading plus character\".\r\n\t\t * Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n\t\t */\r\n\t\tvalue: PropTypes.string.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A function of `value: string`.\r\n\t\t * Updates the `value` property.\r\n\t\t */\r\n\t\tonChange: PropTypes.func.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A two-letter country code for formatting `value`\r\n\t\t * as a national phone number (e.g. `(800) 555 35 35`).\r\n\t\t * E.g. \"US\", \"RU\", etc.\r\n\t\t * If no `country` is passed then `value`\r\n\t\t * is formatted as an international phone number.\r\n\t\t * (e.g. `+7 800 555 35 35`)\r\n\t\t * Perhaps the `country` property should have been called `defaultCountry`\r\n\t\t * because if `value` is an international number then `country` is ignored.\r\n\t\t */\r\n\t\tcountry: PropTypes.string,\r\n\r\n\t\t/**\r\n\t\t * If `country` property is passed along with `international={true}` property\r\n\t\t * then the phone number will be input in \"international\" format for that `country`\r\n\t\t * (without \"country calling code\").\r\n\t\t * For example, if `country=\"US\"` property is passed to \"without country select\" input\r\n\t\t * then the phone number will be input in the \"national\" format for `US` (`(213) 373-4253`).\r\n\t\t * But if both `country=\"US\"` and `international={true}` properties are passed then\r\n\t\t * the phone number will be input in the \"international\" format for `US` (`213 373 4253`)\r\n\t\t * (without \"country calling code\" `+1`).\r\n\t\t */\r\n\t\tinternational: PropTypes.bool,\r\n\r\n\t\t/**\r\n\t\t * If `country` and `international` properties are set,\r\n\t\t * then by default it won't include \"country calling code\" in the input field.\r\n\t\t * To change that, pass `withCountryCallingCode` property,\r\n\t\t * and it will include \"country calling code\" in the input field.\r\n\t\t */\r\n\t\twithCountryCallingCode: PropTypes.bool,\r\n\r\n\t\t/**\r\n\t\t * `libphonenumber-js` metadata.\r\n\t\t */\r\n\t\tmetadata: PropTypes.object.isRequired\r\n\t}\r\n\r\n\tInputSmart.defaultProps = {\r\n\t\tmetadata: defaultMetadata\r\n\t}\r\n\r\n\treturn InputSmart\r\n}\r\n\r\nexport default createInput()","import React, { useCallback } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { parseIncompletePhoneNumber, formatIncompletePhoneNumber } from 'libphonenumber-js/core'\r\n\r\nimport { getInputValuePrefix, removeInputValuePrefix } from './helpers/inputValuePrefix'\r\n\r\nexport function createInput(defaultMetadata) {\r\n\t/**\r\n\t * `InputBasic` is the most basic implementation of a `Component`\r\n\t * that can be passed to ``. It parses and formats\r\n\t * the user's input but doesn't control the caret in the process:\r\n\t * when erasing or inserting digits in the middle of a phone number\r\n\t * the caret usually jumps to the end (this is the expected behavior).\r\n\t * Why does `InputBasic` exist when there's `InputSmart`?\r\n\t * One reason is working around the [Samsung Galaxy smart caret positioning bug]\r\n\t * (https://github.com/catamphetamine/react-phone-number-input/issues/75).\r\n\t * Another reason is that, unlike `InputSmart`, it doesn't require DOM environment.\r\n\t */\r\n\tfunction InputBasic({\r\n\t\tvalue,\r\n\t\tonChange,\r\n\t\tcountry,\r\n\t\tinternational,\r\n\t\twithCountryCallingCode,\r\n\t\tmetadata,\r\n\t\tinputComponent: Input,\r\n\t\t...rest\r\n\t}, ref) {\r\n\t\tconst prefix = getInputValuePrefix({\r\n\t\t\tcountry,\r\n\t\t\tinternational,\r\n\t\t\twithCountryCallingCode,\r\n\t\t\tmetadata\r\n\t\t})\r\n\r\n\t\tconst _onChange = useCallback((event) => {\r\n\t\t\tlet newValue = parseIncompletePhoneNumber(event.target.value)\r\n\t\t\t// By default, if a value is something like `\"(123)\"`\r\n\t\t\t// then Backspace would only erase the rightmost brace\r\n\t\t\t// becoming something like `\"(123\"`\r\n\t\t\t// which would give the same `\"123\"` value\r\n\t\t\t// which would then be formatted back to `\"(123)\"`\r\n\t\t\t// and so a user wouldn't be able to erase the phone number.\r\n\t\t\t// Working around this issue with this simple hack.\r\n\t\t\tif (newValue === value) {\r\n\t\t\t\tconst newValueFormatted = format(prefix, newValue, country, metadata)\r\n\t\t\t\tif (newValueFormatted.indexOf(event.target.value) === 0) {\r\n\t\t\t\t\t// Trim the last digit (or plus sign).\r\n\t\t\t\t\tnewValue = newValue.slice(0, -1)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tonChange(newValue)\r\n\t\t}, [\r\n\t\t\tprefix,\r\n\t\t\tvalue,\r\n\t\t\tonChange,\r\n\t\t\tcountry,\r\n\t\t\tmetadata\r\n\t\t])\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tInputBasic = React.forwardRef(InputBasic)\r\n\r\n\tInputBasic.propTypes = {\r\n\t\t/**\r\n\t\t * The parsed phone number.\r\n\t\t * \"Parsed\" not in a sense of \"E.164\"\r\n\t\t * but rather in a sense of \"having only\r\n\t\t * digits and possibly a leading plus character\".\r\n\t\t * Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n\t\t */\r\n\t\tvalue: PropTypes.string.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A function of `value: string`.\r\n\t\t * Updates the `value` property.\r\n\t\t */\r\n\t\tonChange: PropTypes.func.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A two-letter country code for formatting `value`\r\n\t\t * as a national phone number (e.g. `(800) 555 35 35`).\r\n\t\t * E.g. \"US\", \"RU\", etc.\r\n\t\t * If no `country` is passed then `value`\r\n\t\t * is formatted as an international phone number.\r\n\t\t * (e.g. `+7 800 555 35 35`)\r\n\t\t * Perhaps the `country` property should have been called `defaultCountry`\r\n\t\t * because if `value` is an international number then `country` is ignored.\r\n\t\t */\r\n\t\tcountry : PropTypes.string,\r\n\r\n\t\t/**\r\n\t\t * If `country` property is passed along with `international={true}` property\r\n\t\t * then the phone number will be input in \"international\" format for that `country`\r\n\t\t * (without \"country calling code\").\r\n\t\t * For example, if `country=\"US\"` property is passed to \"without country select\" input\r\n\t\t * then the phone number will be input in the \"national\" format for `US` (`(213) 373-4253`).\r\n\t\t * But if both `country=\"US\"` and `international={true}` properties are passed then\r\n\t\t * the phone number will be input in the \"international\" format for `US` (`213 373 4253`)\r\n\t\t * (without \"country calling code\" `+1`).\r\n\t\t */\r\n\t\tinternational: PropTypes.bool,\r\n\r\n\t\t/**\r\n\t\t * If `country` and `international` properties are set,\r\n\t\t * then by default it won't include \"country calling code\" in the input field.\r\n\t\t * To change that, pass `withCountryCallingCode` property,\r\n\t\t * and it will include \"country calling code\" in the input field.\r\n\t\t */\r\n\t\twithCountryCallingCode: PropTypes.bool,\r\n\r\n\t\t/**\r\n\t\t * `libphonenumber-js` metadata.\r\n\t\t */\r\n\t\tmetadata: PropTypes.object.isRequired,\r\n\r\n\t\t/**\r\n\t\t * The `` component.\r\n\t\t */\r\n\t\tinputComponent: PropTypes.elementType.isRequired\r\n\t}\r\n\r\n\tInputBasic.defaultProps = {\r\n\t\tmetadata: defaultMetadata,\r\n\t\tinputComponent: 'input'\r\n\t}\r\n\r\n\treturn InputBasic\r\n}\r\n\r\nexport default createInput()\r\n\r\nfunction format(prefix, value, country, metadata) {\r\n\treturn removeInputValuePrefix(\r\n\t\tformatIncompletePhoneNumber(\r\n\t\t\tprefix + value,\r\n\t\t\tcountry,\r\n\t\t\tmetadata\r\n\t\t),\r\n\t\tprefix\r\n\t)\r\n}","import AsYouType from './AsYouType'\r\n\r\n/**\r\n * Formats a (possibly incomplete) phone number.\r\n * The phone number can be either in E.164 format\r\n * or in a form of national number digits.\r\n * @param {string} value - A possibly incomplete phone number. Either in E.164 format or in a form of national number digits.\r\n * @param {string?} country - Two-letter (\"ISO 3166-1 alpha-2\") country code.\r\n * @return {string} Formatted (possibly incomplete) phone number.\r\n */\r\nexport default function formatIncompletePhoneNumber(value, country, metadata) {\r\n\tif (!metadata) {\r\n\t\tmetadata = country\r\n\t\tcountry = undefined\r\n\t}\r\n\treturn new AsYouType(country, metadata).input(value)\r\n}","/**\r\n * Creates Unicode flag from a two-letter ISO country code.\r\n * https://stackoverflow.com/questions/24050671/how-to-put-japan-flag-character-in-a-string\r\n * @param {string} country — A two-letter ISO country code (case-insensitive).\r\n * @return {string}\r\n */\r\nexport default function getCountryFlag(country) {\r\n\treturn getRegionalIndicatorSymbol(country[0]) + getRegionalIndicatorSymbol(country[1])\r\n}\r\n\r\n/**\r\n * Converts a letter to a Regional Indicator Symbol.\r\n * @param {string} letter\r\n * @return {string}\r\n */\r\nfunction getRegionalIndicatorSymbol(letter) {\r\n\treturn String.fromCodePoint(0x1F1E6 - 65 + letter.toUpperCase().charCodeAt(0))\r\n}","import React, { useCallback, useMemo } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\nimport getUnicodeFlagIcon from 'country-flag-icons/unicode'\r\n\r\nexport default function CountrySelect({\r\n\tvalue,\r\n\tonChange,\r\n\toptions,\r\n\t...rest\r\n}) {\r\n\tconst onChange_ = useCallback((event) => {\r\n\t\tconst value = event.target.value\r\n\t\tonChange(value === 'ZZ' ? undefined : value)\r\n\t}, [onChange])\r\n\r\n\tconst selectedOption = useMemo(() => {\r\n\t\treturn getSelectedOption(options, value)\r\n\t}, [options, value])\r\n\r\n\t// \"ZZ\" means \"International\".\r\n\t// (HTML requires each `\r\n\t\t\t))}\r\n\t\t\r\n\t)\r\n}\r\n\r\nCountrySelect.propTypes = {\r\n\t/**\r\n\t * A two-letter country code.\r\n\t * Example: \"US\", \"RU\", etc.\r\n\t */\r\n\tvalue: PropTypes.string,\r\n\r\n\t/**\r\n\t * A function of `value: string`.\r\n\t * Updates the `value` property.\r\n\t */\r\n\tonChange: PropTypes.func.isRequired,\r\n\r\n\t// `` options.\r\n * Can move some country `` options.\r\n * @param {string[]} [countryOptionsOrder] — Country `` can't be left in a broken state.\r\n\tif (!country && required && countries && countries.length > 0) {\r\n\t\tcountry = getAnyCountry()\r\n\t\t// noCountryMatchesTheNumber = true\r\n\t}\r\n\r\n\treturn country\r\n}\r\n\r\n/**\r\n * Generates a sorted list of country `` option for each country.\r\n\tconst countrySelectOptions = countries.map((country) => ({\r\n\t\tvalue: country,\r\n\t\t// All `locale` country names included in this library\r\n\t\t// include all countries (this is checked at build time).\r\n\t\t// The only case when a country name might be missing\r\n\t\t// is when a developer supplies their own `labels` property.\r\n\t\t// To guard against such cases, a missing country name\r\n\t\t// is substituted by country code.\r\n\t\tlabel: countryNames[country] || country\r\n\t}))\r\n\r\n\t// Sort the list of countries alphabetically.\r\n\tcountrySelectOptions.sort((a, b) => _compareStrings(a.label, b.label, compareStringsLocales))\r\n\r\n\t// Add the \"International\" option to the country list (if suitable)\r\n\tif (addInternationalOption) {\r\n\t\tcountrySelectOptions.unshift({\r\n\t\t\tlabel: countryNames.ZZ\r\n\t\t})\r\n\t}\r\n\r\n\treturn countrySelectOptions\r\n}\r\n\r\n/**\r\n * Parses a E.164 phone number to an instance of `PhoneNumber` class.\r\n * @param {string?} value = E.164 phone number.\r\n * @param {object} metadata - `libphonenumber-js` metadata\r\n * @return {object} Object having shape `{ country: string?, countryCallingCode: string, number: string }`. `PhoneNumber`: https://gitlab.com/catamphetamine/libphonenumber-js#phonenumber.\r\n * @example\r\n * parsePhoneNumber('+78005553535')\r\n */\r\nexport function parsePhoneNumber(value, metadata) {\r\n\treturn parsePhoneNumber_(value || '', metadata)\r\n}\r\n\r\n/**\r\n * Generates national number digits for a parsed phone.\r\n * May prepend national prefix.\r\n * The phone number must be a complete and valid phone number.\r\n * @param {object} phoneNumber - An instance of `PhoneNumber` class.\r\n * @param {object} metadata - `libphonenumber-js` metadata\r\n * @return {string}\r\n * @example\r\n * getNationalNumberDigits({ country: 'RU', phone: '8005553535' })\r\n * // returns '88005553535'\r\n */\r\nexport function generateNationalNumberDigits(phoneNumber) {\r\n\treturn phoneNumber.formatNational().replace(/\\D/g, '')\r\n}\r\n\r\n/**\r\n * Migrates parsed `` `value` for the newly selected `country`.\r\n * @param {string?} phoneDigits - Phone number digits (and `+`) parsed from phone number `` (it's not the same as the `value` property).\r\n * @param {string?} prevCountry - Previously selected country.\r\n * @param {string?} newCountry - Newly selected country. Can't be same as previously selected country.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @param {boolean} useNationalFormat - whether should attempt to convert from international to national number for the new country.\r\n * @return {string?}\r\n */\r\nexport function getPhoneDigitsForNewCountry(phoneDigits, {\r\n\tprevCountry,\r\n\tnewCountry,\r\n\tmetadata,\r\n\tuseNationalFormat\r\n}) {\r\n\tif (prevCountry === newCountry) {\r\n\t\treturn phoneDigits\r\n\t}\r\n\r\n\t// If `parsed_input` is empty\r\n\t// then no need to migrate anything.\r\n\tif (!phoneDigits) {\r\n\t\tif (useNationalFormat) {\r\n\t\t\treturn ''\r\n\t\t} else {\r\n\t\t\t// If `phoneDigits` is empty then set `phoneDigits` to\r\n\t\t\t// `+{getCountryCallingCode(newCountry)}`.\r\n\t\t\treturn getInternationalPhoneNumberPrefix(newCountry, metadata)\r\n\t\t}\r\n\t}\r\n\r\n\t// If switching to some country.\r\n\t// (from \"International\" or another country)\r\n\t// If switching from \"International\" then `phoneDigits` starts with a `+`.\r\n\t// Otherwise it may or may not start with a `+`.\r\n\tif (newCountry) {\r\n\t\t// If the phone number was entered in international format\r\n\t\t// then migrate it to the newly selected country.\r\n\t\t// The phone number may be incomplete.\r\n\t\t// The phone number entered not necessarily starts with\r\n\t\t// the previously selected country phone prefix.\r\n\t\tif (phoneDigits[0] === '+') {\r\n\t\t\t// If the international phone number is for the new country\r\n\t\t\t// then convert it to local if required.\r\n\t\t\tif (useNationalFormat) {\r\n\t\t\t\t// // If a phone number is being input in international form\r\n\t\t\t\t// // and the country can already be derived from it,\r\n\t\t\t\t// // and if it is the new country, then format as a national number.\r\n\t\t\t\t// const derived_country = getCountryFromPossiblyIncompleteInternationalPhoneNumber(phoneDigits, metadata)\r\n\t\t\t\t// if (derived_country === newCountry) {\r\n\t\t\t\t// \treturn stripCountryCallingCode(phoneDigits, derived_country, metadata)\r\n\t\t\t\t// }\r\n\r\n\t\t\t\t// Actually, the two countries don't necessarily need to match:\r\n\t\t\t\t// the condition could be looser here, because several countries\r\n\t\t\t\t// might share the same international phone number format\r\n\t\t\t\t// (for example, \"NANPA\" countries like US, Canada, etc).\r\n\t\t\t\t// The looser condition would be just \"same nternational phone number format\"\r\n\t\t\t\t// which would mean \"same country calling code\" in the context of `libphonenumber-js`.\r\n\t\t\t\tif (phoneDigits.indexOf('+' + getCountryCallingCode(newCountry, metadata)) === 0) {\r\n\t\t\t\t\treturn stripCountryCallingCode(phoneDigits, newCountry, metadata)\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Simply discard the previously entered international phone number,\r\n\t\t\t\t// because otherwise any \"smart\" transformation like getting the\r\n\t\t\t\t// \"national (significant) number\" part and then prepending the\r\n\t\t\t\t// newly selected country's \"country calling code\" to it\r\n\t\t\t\t// would just be confusing for a user without being actually useful.\r\n\t\t\t\treturn ''\r\n\r\n\t\t\t\t// // Simply strip the leading `+` character\r\n\t\t\t\t// // therefore simply converting all digits into a \"local\" phone number.\r\n\t\t\t\t// // https://github.com/catamphetamine/react-phone-number-input/issues/287\r\n\t\t\t\t// return phoneDigits.slice(1)\r\n\t\t\t}\r\n\r\n\t\t\tif (prevCountry) {\r\n\t\t\t\tconst newCountryPrefix = getInternationalPhoneNumberPrefix(newCountry, metadata)\r\n\t\t\t\tif (phoneDigits.indexOf(newCountryPrefix) === 0) {\r\n\t\t\t\t\treturn phoneDigits\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn newCountryPrefix\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tconst defaultValue = getInternationalPhoneNumberPrefix(newCountry, metadata)\r\n\t\t\t\t// If `phoneDigits`'s country calling code part is the same\r\n\t\t\t\t// as for the new `country`, then leave `phoneDigits` as is.\r\n\t\t\t\tif (phoneDigits.indexOf(defaultValue) === 0) {\r\n\t\t\t\t\treturn phoneDigits\r\n\t\t\t\t}\r\n\t\t\t\t// If `phoneDigits`'s country calling code part is not the same\r\n\t\t\t\t// as for the new `country`, then set `phoneDigits` to\r\n\t\t\t\t// `+{getCountryCallingCode(newCountry)}`.\r\n\t\t\t\treturn defaultValue\r\n\t\t\t}\r\n\r\n\t\t\t// // If the international phone number already contains\r\n\t\t\t// // any country calling code then trim the country calling code part.\r\n\t\t\t// // (that could also be the newly selected country phone code prefix as well)\r\n\t\t\t// // `phoneDigits` doesn't neccessarily belong to `prevCountry`.\r\n\t\t\t// // (e.g. if a user enters an international number\r\n\t\t\t// // not belonging to any of the reduced `countries` list).\r\n\t\t\t// phoneDigits = stripCountryCallingCode(phoneDigits, prevCountry, metadata)\r\n\r\n\t\t\t// // Prepend country calling code prefix\r\n\t\t\t// // for the newly selected country.\r\n\t\t\t// return e164(phoneDigits, newCountry, metadata) || `+${getCountryCallingCode(newCountry, metadata)}`\r\n\t\t}\r\n\t}\r\n\t// If switching to \"International\" from a country.\r\n\telse {\r\n\t\t// If the phone number was entered in national format.\r\n\t\tif (phoneDigits[0] !== '+') {\r\n\t\t\t// Format the national phone number as an international one.\r\n\t\t\t// The phone number entered not necessarily even starts with\r\n\t\t\t// the previously selected country phone prefix.\r\n\t\t\t// Even if the phone number belongs to whole another country\r\n\t\t\t// it will still be parsed into some national phone number.\r\n\t\t\t//\r\n\t\t\t// Ignore the now-uncovered `|| ''` code branch:\r\n\t\t\t// previously `e164()` function could return an empty string\r\n\t\t\t// even when `phoneDigits` were not empty.\r\n\t\t\t// Now it always returns some `value` when there're any `phoneDigits`.\r\n\t\t\t// Still, didn't remove the `|| ''` code branch just in case\r\n\t\t\t// that logic changes somehow in some future, so there're no\r\n\t\t\t// possible bugs related to that.\r\n\t\t\t//\r\n\t\t\t// (ignore the `|| ''` code branch)\r\n\t\t\t/* istanbul ignore next */\r\n\t\t\treturn e164(phoneDigits, prevCountry, metadata) || ''\r\n\t\t}\r\n\t}\r\n\r\n\treturn phoneDigits\r\n}\r\n\r\n/**\r\n * Converts phone number digits to a (possibly incomplete) E.164 phone number.\r\n * @param {string?} number - A possibly incomplete phone number digits string. Can be a possibly incomplete E.164 phone number.\r\n * @param {string?} country\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string?}\r\n */\r\nexport function e164(number, country, metadata) {\r\n\tif (!number) {\r\n\t\treturn\r\n\t}\r\n\t// If the phone number is being input in international format.\r\n\tif (number[0] === '+') {\r\n\t\t// If it's just the `+` sign then return nothing.\r\n\t\tif (number === '+') {\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// Return a E.164 phone number.\r\n\t\t//\r\n\t\t// Could return `number` \"as is\" here, but there's a possibility\r\n\t\t// that some user might incorrectly input an international number\r\n\t\t// with a \"national prefix\". Such numbers aren't considered valid,\r\n\t\t// but `libphonenumber-js` is \"forgiving\" when it comes to parsing\r\n\t\t// user's input, and this input component follows that behavior.\r\n\t\t//\r\n\t\tconst asYouType = new AsYouType(country, metadata)\r\n\t\tasYouType.input(number)\r\n\t\t// This function would return `undefined` only when `number` is `\"+\"`,\r\n\t\t// but at this point it is known that `number` is not `\"+\"`.\r\n\t\treturn asYouType.getNumberValue()\r\n\t}\r\n\t// For non-international phone numbers\r\n\t// an accompanying country code is required.\r\n\t// The situation when `country` is `undefined`\r\n\t// and a non-international phone number is passed\r\n\t// to this function shouldn't happen.\r\n\tif (!country) {\r\n\t\treturn\r\n\t}\r\n\tconst partial_national_significant_number = getNationalSignificantNumberDigits(number, country, metadata)\r\n\t//\r\n\t// Even if no \"national (significant) number\" digits have been input,\r\n\t// still return a non-`undefined` value.\r\n\t// https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/113\r\n\t//\r\n\t// For example, if the user has selected country `US` and entered `\"1\"`\r\n\t// then that `\"1\"` is just a \"national prefix\" and no \"national (significant) number\"\r\n\t// digits have been input yet. Still, return `\"+1\"` as `value` in such cases,\r\n\t// because otherwise the app would think that the input is empty and mark it as such\r\n\t// while in reality it isn't empty, which might be thought of as a \"bug\", or just\r\n\t// a \"weird\" behavior.\r\n\t//\r\n\t// if (partial_national_significant_number) {\r\n\t\treturn `+${getCountryCallingCode(country, metadata)}${partial_national_significant_number || ''}`\r\n\t// }\r\n}\r\n\r\n/**\r\n * Trims phone number digits if they exceed the maximum possible length\r\n * for a national (significant) number for the country.\r\n * @param {string} number - A possibly incomplete phone number digits string. Can be a possibly incomplete E.164 phone number.\r\n * @param {string} country\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string} Can be empty.\r\n */\r\nexport function trimNumber(number, country, metadata) {\r\n\tconst nationalSignificantNumberPart = getNationalSignificantNumberDigits(number, country, metadata)\r\n\tif (nationalSignificantNumberPart) {\r\n\t\tconst overflowDigitsCount = nationalSignificantNumberPart.length - getMaxNumberLength(country, metadata)\r\n\t\tif (overflowDigitsCount > 0) {\r\n\t\t\treturn number.slice(0, number.length - overflowDigitsCount)\r\n\t\t}\r\n\t}\r\n\treturn number\r\n}\r\n\r\nfunction getMaxNumberLength(country, metadata) {\r\n\t// Get \"possible lengths\" for a phone number of the country.\r\n\tmetadata = new Metadata(metadata)\r\n\tmetadata.selectNumberingPlan(country)\r\n\t// Return the last \"possible length\".\r\n\treturn metadata.numberingPlan.possibleLengths()[metadata.numberingPlan.possibleLengths().length - 1]\r\n}\r\n\r\n// If the phone number being input is an international one\r\n// then tries to derive the country from the phone number.\r\n// (regardless of whether there's any country currently selected)\r\n/**\r\n * @param {string} partialE164Number - A possibly incomplete E.164 phone number.\r\n * @param {string?} country - Currently selected country.\r\n * @param {string[]?} countries - A list of available countries. If not passed then \"all countries\" are assumed.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string?}\r\n */\r\nexport function getCountryForPartialE164Number(partialE164Number, {\r\n\tcountry,\r\n\tcountries,\r\n\trequired,\r\n\tmetadata\r\n}) {\r\n\tif (partialE164Number === '+') {\r\n\t\t// Don't change the currently selected country yet.\r\n\t\treturn country\r\n\t}\r\n\r\n\tconst derived_country = getCountryFromPossiblyIncompleteInternationalPhoneNumber(partialE164Number, metadata)\r\n\r\n\t// If a phone number is being input in international form\r\n\t// and the country can already be derived from it,\r\n\t// then select that country.\r\n\tif (derived_country && (!countries || (countries.indexOf(derived_country) >= 0))) {\r\n\t\treturn derived_country\r\n\t}\r\n\t// If \"International\" country option has not been disabled\r\n\t// and the international phone number entered doesn't correspond\r\n\t// to the currently selected country then reset the currently selected country.\r\n\telse if (country &&\r\n\t\t!required &&\r\n\t\t!couldNumberBelongToCountry(partialE164Number, country, metadata)) {\r\n\t\treturn undefined\r\n\t}\r\n\r\n\t// Don't change the currently selected country.\r\n\treturn country\r\n}\r\n\r\n/**\r\n * Parses `` value. Derives `country` from `input`. Derives an E.164 `value`.\r\n * @param {string?} phoneDigits — Parsed `` value. Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n * @param {string?} prevPhoneDigits — Previous parsed `` value. Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n * @param {string?} country - Currently selected country.\r\n * @param {boolean} countryRequired - Is selecting some country required.\r\n * @param {function} getAnyCountry - Can be used to get any country when selecting some country required.\r\n * @param {string[]?} countries - A list of available countries. If not passed then \"all countries\" are assumed.\r\n * @param {boolean} international - Set to `true` to force international phone number format (leading `+`). Set to `false` to force \"national\" phone number format. Is `undefined` by default.\r\n * @param {boolean} limitMaxLength — Whether to enable limiting phone number max length.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {object} An object of shape `{ input, country, value }`.\r\n */\r\nexport function onPhoneDigitsChange(phoneDigits, {\r\n\tprevPhoneDigits,\r\n\tcountry,\r\n\tdefaultCountry,\r\n\tcountryRequired,\r\n\tgetAnyCountry,\r\n\tcountries,\r\n\tinternational,\r\n\tlimitMaxLength,\r\n\tcountryCallingCodeEditable,\r\n\tmetadata\r\n}) {\r\n\tif (international && countryCallingCodeEditable === false) {\r\n\t\tconst prefix = getInternationalPhoneNumberPrefix(country, metadata)\r\n\t\t// The `` value must start with the country calling code.\r\n\t\tif (phoneDigits.indexOf(prefix) !== 0) {\r\n\t\t\tlet value\r\n\t\t\t// If a phone number input is declared as\r\n\t\t\t// `international` and `withCountryCallingCode`,\r\n\t\t\t// then it's gonna be non-empty even before the user\r\n\t\t\t// has input anything in it.\r\n\t\t\t// This will result in its contents (the country calling code part)\r\n\t\t\t// being selected when the user tabs into such field.\r\n\t\t\t// If the user then starts inputting the national part digits,\r\n\t\t\t// then `` value changes from `+xxx` to `y`\r\n\t\t\t// because inputting anything while having the `` value\r\n\t\t\t// selected results in erasing the `` value.\r\n\t\t\t// So, the component handles such case by restoring\r\n\t\t\t// the intended `` value: `+xxxy`.\r\n\t\t\t// https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/43\r\n\t\t\tif (phoneDigits && phoneDigits[0] !== '+') {\r\n\t\t\t\tphoneDigits = prefix + phoneDigits\r\n\t\t\t\tvalue = e164(phoneDigits, country, metadata)\r\n\t\t\t} else {\r\n\t\t\t\tphoneDigits = prefix\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\tphoneDigits,\r\n\t\t\t\tvalue,\r\n\t\t\t\tcountry\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// If `international` property is `false`, then it means\r\n\t// \"enforce national-only format during input\",\r\n\t// so, if that's the case, then remove all `+` characters,\r\n\t// but only if some country is currently selected.\r\n\t// (not if \"International\" country is selected).\r\n\tif (international === false && country && phoneDigits && phoneDigits[0] === '+') {\r\n\t\tphoneDigits = convertInternationalPhoneDigitsToNational(phoneDigits, country, metadata)\r\n\t}\r\n\r\n\t// Trim the input to not exceed the maximum possible number length.\r\n\tif (phoneDigits && country && limitMaxLength) {\r\n\t\tphoneDigits = trimNumber(phoneDigits, country, metadata)\r\n\t}\r\n\r\n\t// If this `onChange()` event was triggered\r\n\t// as a result of selecting \"International\" country,\r\n\t// then force-prepend a `+` sign if the phone number\r\n\t// `` value isn't in international format.\r\n\t// Also, force-prepend a `+` sign if international\r\n\t// phone number input format is set.\r\n\tif (phoneDigits && phoneDigits[0] !== '+' && (!country || international)) {\r\n\t\tphoneDigits = '+' + phoneDigits\r\n\t}\r\n\r\n\t// If the previously entered phone number\r\n\t// has been entered in international format\r\n\t// and the user decides to erase it,\r\n\t// then also reset the `country`\r\n\t// because it was most likely automatically selected\r\n\t// while the user was typing in the phone number\r\n\t// in international format.\r\n\t// This fixes the issue when a user is presented\r\n\t// with a phone number input with no country selected\r\n\t// and then types in their local phone number\r\n\t// then discovers that the input's messed up\r\n\t// (a `+` has been prepended at the start of their input\r\n\t// and a random country has been selected),\r\n\t// decides to undo it all by erasing everything\r\n\t// and then types in their local phone number again\r\n\t// resulting in a seemingly correct phone number\r\n\t// but in reality that phone number has incorrect country.\r\n\t// https://github.com/catamphetamine/react-phone-number-input/issues/273\r\n\tif (!phoneDigits && prevPhoneDigits && prevPhoneDigits[0] === '+') {\r\n\t\tif (international) {\r\n\t\t\tcountry = undefined\r\n\t\t} else {\r\n\t\t\tcountry = defaultCountry\r\n\t\t}\r\n\t}\r\n\t// Also resets such \"randomly\" selected country\r\n\t// as soon as the user erases the number\r\n\t// digit-by-digit up to the leading `+` sign.\r\n\tif (phoneDigits === '+' && prevPhoneDigits && prevPhoneDigits[0] === '+' && prevPhoneDigits.length > '+'.length) {\r\n\t\tcountry = undefined\r\n\t}\r\n\r\n\t// Generate the new `value` property.\r\n\tlet value\r\n\tif (phoneDigits) {\r\n\t\tif (phoneDigits[0] === '+') {\r\n\t\t\tif (phoneDigits === '+') {\r\n\t\t\t\tvalue = undefined\r\n\t\t\t} else if (country && getInternationalPhoneNumberPrefix(country, metadata).indexOf(phoneDigits) === 0) {\r\n\t\t\t\t// Selected a `country` but started inputting an\r\n\t\t\t\t// international phone number for another country.\r\n\t\t\t\t// Even though the input value is non-empty,\r\n\t\t\t\t// the `value` is assumed `undefined` in such case.\r\n\t\t\t\t// The `country` will be reset (or re-selected)\r\n\t\t\t\t// immediately after such mismatch has been detected\r\n\t\t\t\t// by the phone number input component, and `value`\r\n\t\t\t\t// will be set to the currently entered international prefix.\r\n\t\t\t\t//\r\n\t\t\t\t// For example, if selected `country` `\"US\"`\r\n\t\t\t\t// and started inputting phone number `\"+2\"`\r\n\t\t\t\t// then `value` `undefined` will be returned from this function,\r\n\t\t\t\t// and then, immediately after that, `country` will be reset\r\n\t\t\t\t// and the `value` will be set to `\"+2\"`.\r\n\t\t\t\t//\r\n\t\t\t\tvalue = undefined\r\n\t\t\t} else {\r\n\t\t\t\tvalue = e164(phoneDigits, country, metadata)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvalue = e164(phoneDigits, country, metadata)\r\n\t\t}\r\n\t}\r\n\r\n\t// Derive the country from the phone number.\r\n\t// (regardless of whether there's any country currently selected,\r\n\t// because there could be several countries corresponding to one country calling code)\r\n\tif (value) {\r\n\t\tcountry = getCountryForPartialE164Number(value, {\r\n\t\t\tcountry,\r\n\t\t\tcountries,\r\n\t\t\tmetadata\r\n\t\t})\r\n\t\t// If `international` property is `false`, then it means\r\n\t\t// \"enforce national-only format during input\",\r\n\t\t// so, if that's the case, then remove all `+` characters,\r\n\t\t// but only if some country is currently selected.\r\n\t\t// (not if \"International\" country is selected).\r\n\t\tif (international === false && country && phoneDigits && phoneDigits[0] === '+') {\r\n\t\t\tphoneDigits = convertInternationalPhoneDigitsToNational(phoneDigits, country, metadata)\r\n\t\t\t// Re-calculate `value` because `phoneDigits` has changed.\r\n\t\t\tvalue = e164(phoneDigits, country, metadata)\r\n\t\t}\r\n\t}\r\n\r\n\tif (!country && countryRequired) {\r\n\t\tcountry = defaultCountry || getAnyCountry()\r\n\t}\r\n\r\n\treturn {\r\n\t\tphoneDigits,\r\n\t\tcountry,\r\n\t\tvalue\r\n\t}\r\n}\r\n\r\nfunction convertInternationalPhoneDigitsToNational(input, country, metadata) {\r\n\t// Handle the case when a user might have pasted\r\n\t// a phone number in international format.\r\n\tif (input.indexOf(getInternationalPhoneNumberPrefix(country, metadata)) === 0) {\r\n\t\t// Create \"as you type\" formatter.\r\n\t\tconst formatter = new AsYouType(country, metadata)\r\n\t\t// Input partial national phone number.\r\n\t\tformatter.input(input)\r\n\t\t// Return the parsed partial national phone number.\r\n\t\tconst phoneNumber = formatter.getNumber()\r\n\t\tif (phoneNumber) {\r\n\t\t\t// Transform the number to a national one,\r\n\t\t\t// and remove all non-digits.\r\n\t\t\treturn phoneNumber.formatNational().replace(/\\D/g, '')\r\n\t\t} else {\r\n\t\t\treturn ''\r\n\t\t}\r\n\t} else {\r\n\t\t// Just remove the `+` sign.\r\n\t\treturn input.replace(/\\D/g, '')\r\n\t}\r\n}\r\n\r\n/**\r\n * Determines the country for a given (possibly incomplete) E.164 phone number.\r\n * @param {string} number - A possibly incomplete E.164 phone number.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string?}\r\n */\r\nexport function getCountryFromPossiblyIncompleteInternationalPhoneNumber(number, metadata) {\r\n\tconst formatter = new AsYouType(null, metadata)\r\n\tformatter.input(number)\r\n\t// // `001` is a special \"non-geograpical entity\" code\r\n\t// // in Google's `libphonenumber` library.\r\n\t// if (formatter.getCountry() === '001') {\r\n\t// \treturn\r\n\t// }\r\n\treturn formatter.getCountry()\r\n}\r\n\r\n/**\r\n * Compares two strings.\r\n * A helper for `Array.sort()`.\r\n * @param {string} a — First string.\r\n * @param {string} b — Second string.\r\n * @param {(string[]|string)} [locales] — The `locales` argument of `String.localeCompare`.\r\n */\r\nexport function compareStrings(a, b, locales) {\r\n // Use `String.localeCompare` if it's available.\r\n // https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare\r\n // Which means everyone except IE <= 10 and Safari <= 10.\r\n // `localeCompare()` is available in latest Node.js versions.\r\n /* istanbul ignore else */\r\n if (String.prototype.localeCompare) {\r\n return a.localeCompare(b, locales);\r\n }\r\n /* istanbul ignore next */\r\n return a < b ? -1 : (a > b ? 1 : 0);\r\n}\r\n\r\n/**\r\n * Strips `+${countryCallingCode}` prefix from an E.164 phone number.\r\n * @param {string} number - (possibly incomplete) E.164 phone number.\r\n * @param {string?} country - A possible country for this phone number.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string}\r\n */\r\nexport function stripCountryCallingCode(number, country, metadata) {\r\n\t// Just an optimization, so that it\r\n\t// doesn't have to iterate through all country calling codes.\r\n\tif (country) {\r\n\t\tconst countryCallingCodePrefix = '+' + getCountryCallingCode(country, metadata)\r\n\r\n\t\t// If `country` fits the actual `number`.\r\n\t\tif (number.length < countryCallingCodePrefix.length) {\r\n\t\t\tif (countryCallingCodePrefix.indexOf(number) === 0) {\r\n\t\t\t\treturn ''\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (number.indexOf(countryCallingCodePrefix) === 0) {\r\n\t\t\t\treturn number.slice(countryCallingCodePrefix.length)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// If `country` doesn't fit the actual `number`.\r\n\t// Try all available country calling codes.\r\n\tfor (const country_calling_code of Object.keys(metadata.country_calling_codes)) {\r\n\t\tif (number.indexOf(country_calling_code) === '+'.length) {\r\n\t\t\treturn number.slice('+'.length + country_calling_code.length)\r\n\t\t}\r\n\t}\r\n\r\n\treturn ''\r\n}\r\n\r\n/**\r\n * Parses a partially entered national phone number digits\r\n * (or a partially entered E.164 international phone number)\r\n * and returns the national significant number part.\r\n * National significant number returned doesn't come with a national prefix.\r\n * @param {string} number - National number digits. Or possibly incomplete E.164 phone number.\r\n * @param {string?} country\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string} [result]\r\n */\r\nexport function getNationalSignificantNumberDigits(number, country, metadata) {\r\n\t// Create \"as you type\" formatter.\r\n\tconst formatter = new AsYouType(country, metadata)\r\n\t// Input partial national phone number.\r\n\tformatter.input(number)\r\n\t// Return the parsed partial national phone number.\r\n\tconst phoneNumber = formatter.getNumber()\r\n\treturn phoneNumber && phoneNumber.nationalNumber\r\n}\r\n\r\n/**\r\n * Checks if a partially entered E.164 phone number could belong to a country.\r\n * @param {string} number\r\n * @param {string} country\r\n * @return {boolean}\r\n */\r\nexport function couldNumberBelongToCountry(number, country, metadata) {\r\n\tconst intlPhoneNumberPrefix = getInternationalPhoneNumberPrefix(country, metadata)\r\n\tlet i = 0\r\n\twhile (i < number.length && i < intlPhoneNumberPrefix.length) {\r\n\t\tif (number[i] !== intlPhoneNumberPrefix[i]) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\treturn true\r\n}\r\n\r\n/**\r\n * Gets initial \"phone digits\" (including `+`, if using international format).\r\n * @return {string} [phoneDigits] Returns `undefined` if there should be no initial \"phone digits\".\r\n */\r\nexport function getInitialPhoneDigits({\r\n\tvalue,\r\n\tphoneNumber,\r\n\tdefaultCountry,\r\n\tinternational,\r\n\tuseNationalFormat,\r\n\tmetadata\r\n}) {\r\n\t// If the `value` (E.164 phone number)\r\n\t// belongs to the currently selected country\r\n\t// and `useNationalFormat` is `true`\r\n\t// then convert `value` (E.164 phone number)\r\n\t// to a local phone number digits.\r\n\t// E.g. '+78005553535' -> '88005553535'.\r\n\tif ((international === false || useNationalFormat) && phoneNumber && phoneNumber.country) {\r\n\t\treturn generateNationalNumberDigits(phoneNumber)\r\n\t}\r\n\t// If `international` property is `true`,\r\n\t// meaning \"enforce international phone number format\",\r\n\t// then always show country calling code in the input field.\r\n\tif (!value && international && defaultCountry) {\r\n\t\treturn getInternationalPhoneNumberPrefix(defaultCountry, metadata)\r\n\t}\r\n\treturn value\r\n}","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\n\r\nimport InputSmart from './InputSmart'\r\nimport InputBasic from './InputBasic'\r\n\r\nimport { CountrySelectWithIcon as CountrySelect } from './CountrySelect'\r\n\r\nimport Flag from './Flag'\r\nimport InternationalIcon from './InternationalIcon'\r\n\r\nimport {\r\n\tsortCountryOptions,\r\n\tisCountrySupportedWithError,\r\n\tgetSupportedCountries,\r\n\tgetSupportedCountryOptions,\r\n\tgetCountries\r\n} from './helpers/countries'\r\n\r\nimport { createCountryIconComponent } from './CountryIcon'\r\n\r\nimport {\r\n\tmetadata as metadataPropType,\r\n\tlabels as labelsPropType\r\n} from './PropTypes'\r\n\r\nimport {\r\n\tgetPreSelectedCountry,\r\n\tgetCountrySelectOptions,\r\n\tparsePhoneNumber,\r\n\tgenerateNationalNumberDigits,\r\n\tgetPhoneDigitsForNewCountry,\r\n\tgetInitialPhoneDigits,\r\n\tonPhoneDigitsChange,\r\n\te164\r\n} from './helpers/phoneInputHelpers'\r\n\r\nimport getPhoneInputWithCountryStateUpdateFromNewProps from './helpers/getPhoneInputWithCountryStateUpdateFromNewProps'\r\n\r\nclass PhoneNumberInput_ extends React.PureComponent {\r\n\tinputRef = React.createRef()\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props)\r\n\r\n\t\tconst {\r\n\t\t\tvalue,\r\n\t\t\tlabels,\r\n\t\t\tinternational,\r\n\t\t\taddInternationalOption,\r\n\t\t\t// `displayInitialValueAsLocalNumber` property has been\r\n\t\t\t// superceded by `initialValueFormat` property.\r\n\t\t\tdisplayInitialValueAsLocalNumber,\r\n\t\t\tinitialValueFormat,\r\n\t\t\tmetadata\r\n\t\t} = this.props\r\n\r\n\t\tlet {\r\n\t\t\tdefaultCountry,\r\n\t\t\tcountries\r\n\t\t} = this.props\r\n\r\n\t\t// Validate `defaultCountry`.\r\n\t\tif (defaultCountry) {\r\n\t\t\tif (!this.isCountrySupportedWithError(defaultCountry)) {\r\n\t\t\t\tdefaultCountry = undefined\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Validate `countries`.\r\n\t\tcountries = getSupportedCountries(countries, metadata)\r\n\r\n\t\tconst phoneNumber = parsePhoneNumber(value, metadata)\r\n\r\n\t\tthis.CountryIcon = createCountryIconComponent(this.props)\r\n\r\n\t\tconst preSelectedCountry = getPreSelectedCountry({\r\n\t\t\tvalue,\r\n\t\t\tphoneNumber,\r\n\t\t\tdefaultCountry,\r\n\t\t\trequired: !addInternationalOption,\r\n\t\t\tcountries: countries || getCountries(metadata),\r\n\t\t\tgetAnyCountry: () => this.getFirstSupportedCountry({ countries }),\r\n\t\t\tmetadata\r\n\t\t})\r\n\r\n\t\tthis.state = {\r\n\t\t\t// Workaround for `this.props` inside `getDerivedStateFromProps()`.\r\n\t\t\tprops: this.props,\r\n\r\n\t\t\t// The country selected.\r\n\t\t\tcountry: preSelectedCountry,\r\n\r\n\t\t\t// `countries` are stored in `this.state` because they're filtered.\r\n\t\t\t// For example, a developer might theoretically pass some unsupported\r\n\t\t\t// countries as part of the `countries` property, and because of that\r\n\t\t\t// the component uses `this.state.countries` (which are filtered)\r\n\t\t\t// instead of `this.props.countries`\r\n\t\t\t// (which could potentially contain unsupported countries).\r\n\t\t\tcountries,\r\n\r\n\t\t\t// `phoneDigits` state property holds non-formatted user's input.\r\n\t\t\t// The reason is that there's no way of finding out\r\n\t\t\t// in which form should `value` be displayed: international or national.\r\n\t\t\t// E.g. if `value` is `+78005553535` then it could be input\r\n\t\t\t// by a user both as `8 (800) 555-35-35` and `+7 800 555 35 35`.\r\n\t\t\t// Hence storing just `value` is not sufficient for correct formatting.\r\n\t\t\t// E.g. if a user entered `8 (800) 555-35-35`\r\n\t\t\t// then value is `+78005553535` and `phoneDigits` are `88005553535`\r\n\t\t\t// and if a user entered `+7 800 555 35 35`\r\n\t\t\t// then value is `+78005553535` and `phoneDigits` are `+78005553535`.\r\n\t\t\tphoneDigits: getInitialPhoneDigits({\r\n\t\t\t\tvalue,\r\n\t\t\t\tphoneNumber,\r\n\t\t\t\tdefaultCountry,\r\n\t\t\t\tinternational,\r\n\t\t\t\tuseNationalFormat: displayInitialValueAsLocalNumber || initialValueFormat === 'national',\r\n\t\t\t\tmetadata\r\n\t\t\t}),\r\n\r\n\t\t\t// `value` property is duplicated in state.\r\n\t\t\t// The reason is that `getDerivedStateFromProps()`\r\n\t\t\t// needs this `value` to compare to the new `value` property\r\n\t\t\t// to find out if `phoneDigits` needs updating:\r\n\t\t\t// If the `value` property was changed externally\r\n\t\t\t// then it won't be equal to `state.value`\r\n\t\t\t// in which case `phoneDigits` and `country` should be updated.\r\n\t\t\tvalue\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tconst { onCountryChange } = this.props\r\n\t\tlet { defaultCountry } = this.props\r\n\t\tconst { country: selectedCountry } = this.state\r\n\t\tif (onCountryChange) {\r\n\t\t\tif (defaultCountry) {\r\n\t\t\t\tif (!this.isCountrySupportedWithError(defaultCountry)) {\r\n\t\t\t\t\tdefaultCountry = undefined\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (selectedCountry !== defaultCountry) {\r\n\t\t\t\tonCountryChange(selectedCountry)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentDidUpdate(prevProps, prevState) {\r\n\t\tconst { onCountryChange } = this.props\r\n\t\tconst { country } = this.state\r\n\t\t// Call `onCountryChange` when user selects another country.\r\n\t\tif (onCountryChange && country !== prevState.country) {\r\n\t\t\tonCountryChange(country)\r\n\t\t}\r\n\t}\r\n\r\n\tsetInputRef = (instance) => {\r\n\t\tthis.inputRef.current = instance\r\n\t\tconst { inputRef: ref } = this.props\r\n\t\tif (ref) {\r\n\t\t\tif (typeof ref === 'function') {\r\n\t\t\t\tref(instance)\r\n\t\t\t} else {\r\n\t\t\t\tref.current = instance\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tgetCountrySelectOptions({ countries }) {\r\n\t\tconst {\r\n\t\t\tinternational,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tcountryOptionsOrder,\r\n\t\t\taddInternationalOption,\r\n\t\t\tlabels,\r\n\t\t\tlocales,\r\n\t\t\tmetadata\r\n\t\t} = this.props\r\n\t\treturn useMemoCountrySelectOptions(() => {\r\n\t\t\treturn sortCountryOptions(\r\n\t\t\t\tgetCountrySelectOptions({\r\n\t\t\t\t\tcountries: countries || getCountries(metadata),\r\n\t\t\t\t\tcountryNames: labels,\r\n\t\t\t\t\taddInternationalOption: (international && countryCallingCodeEditable === false) ? false : addInternationalOption,\r\n\t\t\t\t\tcompareStringsLocales: locales,\r\n\t\t\t\t\t// compareStrings\r\n\t\t\t\t}),\r\n\t\t\t\tgetSupportedCountryOptions(countryOptionsOrder, metadata)\r\n\t\t\t)\r\n\t\t}, [\r\n\t\t\tcountries,\r\n\t\t\tcountryOptionsOrder,\r\n\t\t\taddInternationalOption,\r\n\t\t\tlabels,\r\n\t\t\tmetadata\r\n\t\t])\r\n\t}\r\n\r\n\tgetFirstSupportedCountry({ countries }) {\r\n\t\tconst countryOptions = this.getCountrySelectOptions({ countries })\r\n\t\treturn countryOptions[0].value\r\n\t}\r\n\r\n\t// A shorthand for not passing `metadata` as a second argument.\r\n\tisCountrySupportedWithError = (country) => {\r\n\t\tconst { metadata } = this.props\r\n\t\treturn isCountrySupportedWithError(country, metadata)\r\n\t}\r\n\r\n\t// Country `` holds any digits\r\n\t\t// then migrate those digits for the new `country`.\r\n\t\tconst newPhoneDigits = getPhoneDigitsForNewCountry(prevPhoneDigits, {\r\n\t\t\tprevCountry,\r\n\t\t\tnewCountry,\r\n\t\t\tmetadata,\r\n\t\t\t// Convert the phone number to \"national\" format\r\n\t\t\t// when the user changes the selected country by hand.\r\n\t\t\tuseNationalFormat: !international\r\n\t\t})\r\n\r\n\t\tconst newValue = e164(newPhoneDigits, newCountry, metadata)\r\n\r\n\t\t// Focus phone number `` upon country selection.\r\n\t\tif (focusInputOnCountrySelection) {\r\n\t\t\tthis.inputRef.current.focus()\r\n\t\t}\r\n\r\n\t\t// If the user has already manually selected a country\r\n\t\t// then don't override that already selected country\r\n\t\t// if the `defaultCountry` property changes.\r\n\t\t// That's what `hasUserSelectedACountry` flag is for.\r\n\r\n\t\tthis.setState({\r\n\t\t\tcountry: newCountry,\r\n\t\t\thasUserSelectedACountry: true,\r\n\t\t\tphoneDigits: newPhoneDigits,\r\n\t\t\tvalue: newValue\r\n\t\t},\r\n\t\t() => {\r\n\t\t\t// Update the new `value` property.\r\n\t\t\t// Doing it after the `state` has been updated\r\n\t\t\t// because `onChange()` will trigger `getDerivedStateFromProps()`\r\n\t\t\t// with the new `value` which will be compared to `state.value` there.\r\n\t\t\tonChange(newValue)\r\n\t\t})\r\n\t}\r\n\r\n\t/**\r\n\t * `` `onChange()` handler.\r\n\t * Updates `value` property accordingly (so that they are kept in sync).\r\n\t * @param {string?} input — Either a parsed phone number or an empty string. Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n\t */\r\n\tonChange = (_phoneDigits) => {\r\n\t\tconst {\r\n\t\t\tdefaultCountry,\r\n\t\t\tonChange,\r\n\t\t\taddInternationalOption,\r\n\t\t\tinternational,\r\n\t\t\tlimitMaxLength,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tmetadata\r\n\t\t} = this.props\r\n\r\n\t\tconst {\r\n\t\t\tcountries,\r\n\t\t\tphoneDigits: prevPhoneDigits,\r\n\t\t\tcountry: currentlySelectedCountry\r\n\t\t} = this.state\r\n\r\n\t\tconst {\r\n\t\t\tphoneDigits,\r\n\t\t\tcountry,\r\n\t\t\tvalue\r\n\t\t} = onPhoneDigitsChange(_phoneDigits, {\r\n\t\t\tprevPhoneDigits,\r\n\t\t\tcountry: currentlySelectedCountry,\r\n\t\t\tcountryRequired: !addInternationalOption,\r\n\t\t\tdefaultCountry,\r\n\t\t\tgetAnyCountry: () => this.getFirstSupportedCountry({ countries }),\r\n\t\t\tcountries,\r\n\t\t\tinternational,\r\n\t\t\tlimitMaxLength,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tmetadata\r\n\t\t})\r\n\r\n\t\tconst stateUpdate = {\r\n\t\t\tphoneDigits,\r\n\t\t\tvalue,\r\n\t\t\tcountry\r\n\t\t}\r\n\r\n\t\tif (countryCallingCodeEditable === false) {\r\n\t\t\t// If it simply did `setState({ phoneDigits: intlPrefix })` here,\r\n\t\t\t// then it would have no effect when erasing an inital international prefix\r\n\t\t\t// via Backspace, because `phoneDigits` in `state` wouldn't change\r\n\t\t\t// as a result, because it was `prefix` and it became `prefix`,\r\n\t\t\t// so the component wouldn't rerender, and the user would be able\r\n\t\t\t// to erase the country calling code part, and that part is\r\n\t\t\t// assumed to be non-eraseable. That's why the component is\r\n\t\t\t// forcefully rerendered here.\r\n\t\t\t// https://github.com/catamphetamine/react-phone-number-input/issues/367#issuecomment-721703501\r\n\t\t\tif (!value && phoneDigits === this.state.phoneDigits) {\r\n\t\t\t\t// Force a re-render of the `` in order to reset its value.\r\n\t\t\t\tstateUpdate.forceRerender = {}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.setState(\r\n\t\t\tstateUpdate,\r\n\t\t\t// Update the new `value` property.\r\n\t\t\t// Doing it after the `state` has been updated\r\n\t\t\t// because `onChange()` will trigger `getDerivedStateFromProps()`\r\n\t\t\t// with the new `value` which will be compared to `state.value` there.\r\n\t\t\t() => onChange(value)\r\n\t\t)\r\n\t}\r\n\r\n\t// Toggles the `--focus` CSS class.\r\n\t_onFocus = () => this.setState({ isFocused: true })\r\n\r\n\t// Toggles the `--focus` CSS class.\r\n\t_onBlur = () => this.setState({ isFocused: false })\r\n\r\n\tonFocus = (event) => {\r\n\t\tthis._onFocus()\r\n\t\tconst { onFocus } = this.props\r\n\t\tif (onFocus) {\r\n\t\t\tonFocus(event)\r\n\t\t}\r\n\t}\r\n\r\n\tonBlur = (event) => {\r\n\t\tconst { onBlur } = this.props\r\n\t\tthis._onBlur()\r\n\t\tif (onBlur) {\r\n\t\t\tonBlur(event)\r\n\t\t}\r\n\t}\r\n\r\n\tonCountryFocus = (event) => {\r\n\t\tthis._onFocus()\r\n\t\t// this.setState({ countrySelectFocused: true })\r\n\t\tconst { countrySelectProps } = this.props\r\n\t\tif (countrySelectProps) {\r\n\t\t\tconst { onFocus } = countrySelectProps\r\n\t\t\tif (onFocus) {\r\n\t\t\t\tonFocus(event)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonCountryBlur = (event) => {\r\n\t\tthis._onBlur()\r\n\t\t// this.setState({ countrySelectFocused: false })\r\n\t\tconst { countrySelectProps } = this.props\r\n\t\tif (countrySelectProps) {\r\n\t\t\tconst { onBlur } = countrySelectProps\r\n\t\t\tif (onBlur) {\r\n\t\t\t\tonBlur(event)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// `state` holds previous props as `props`, and also:\r\n\t// * `country` — The currently selected country, e.g. `\"RU\"`.\r\n\t// * `value` — The currently entered phone number (E.164), e.g. `+78005553535`.\r\n\t// * `phoneDigits` — The parsed `` value, e.g. `8005553535`.\r\n\t// (and a couple of other less significant properties)\r\n\tstatic getDerivedStateFromProps(props, state) {\r\n\t\treturn {\r\n\t\t\t// Emulate `prevProps` via `state.props`.\r\n\t\t\tprops,\r\n\t\t\t...getPhoneInputWithCountryStateUpdateFromNewProps(props, state.props, state)\r\n\t\t}\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst {\r\n\t\t\t// Generic HTML attributes.\r\n\t\t\tname,\r\n\t\t\tdisabled,\r\n\t\t\treadOnly,\r\n\t\t\tautoComplete,\r\n\t\t\tstyle,\r\n\t\t\tclassName,\r\n\r\n\t\t\t// Number `` properties.\r\n\t\t\tinputRef,\r\n\t\t\tinputComponent,\r\n\t\t\tnumberInputProps,\r\n\t\t\tsmartCaret,\r\n\r\n\t\t\t// Country ``).\r\n\t\t\tdefaultCountry,\r\n\t\t\tcountries: countriesProperty,\r\n\t\t\tcountryOptionsOrder,\r\n\t\t\tlabels,\r\n\t\t\tflags,\r\n\t\t\tflagComponent,\r\n\t\t\tflagUrl,\r\n\t\t\taddInternationalOption,\r\n\t\t\tinternationalIcon,\r\n\t\t\t// `displayInitialValueAsLocalNumber` property has been\r\n\t\t\t// superceded by `initialValueFormat` property.\r\n\t\t\tdisplayInitialValueAsLocalNumber,\r\n\t\t\tinitialValueFormat,\r\n\t\t\tonCountryChange,\r\n\t\t\tlimitMaxLength,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tfocusInputOnCountrySelection,\r\n\t\t\treset,\r\n\t\t\tmetadata,\r\n\t\t\tinternational,\r\n\t\t\tlocales,\r\n\t\t\t// compareStrings,\r\n\t\t\t...rest\r\n\t\t} = this.props\r\n\r\n\t\tconst {\r\n\t\t\tcountry,\r\n\t\t\tcountries,\r\n\t\t\tphoneDigits,\r\n\t\t\tisFocused\r\n\t\t} = this.state\r\n\r\n\t\tconst InputComponent = smartCaret ? InputSmart : InputBasic\r\n\r\n\t\tconst countrySelectOptions = this.getCountrySelectOptions({ countries })\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\r\n\t\t\t\t{/* Country `` */}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n}\r\n\r\n// This wrapper is only to `.forwardRef()` to the ``.\r\nconst PhoneNumberInput = React.forwardRef((props, ref) => (\r\n\t\r\n))\r\n\r\nPhoneNumberInput.propTypes = {\r\n\t/**\r\n\t * Phone number in `E.164` format.\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `\"+12223333333\"`\r\n\t *\r\n\t * Any \"falsy\" value like `undefined`, `null` or an empty string `\"\"` is treated like \"empty\".\r\n\t */\r\n\tvalue: PropTypes.string,\r\n\r\n\t/**\r\n\t * A function of `value: string?`.\r\n\t *\r\n\t * Updates the `value` property as the user inputs a phone number.\r\n\t *\r\n\t * If the user erases the input value, the argument is `undefined`.\r\n\t */\r\n\tonChange: PropTypes.func.isRequired,\r\n\r\n\t/**\r\n\t * Toggles the `--focus` CSS class.\r\n\t * @ignore\r\n\t */\r\n\tonFocus: PropTypes.func,\r\n\r\n\t/**\r\n\t * `onBlur` is usually passed by `redux-form`.\r\n\t * @ignore\r\n\t */\r\n\tonBlur: PropTypes.func,\r\n\r\n\t/**\r\n\t * Set to `true` to mark both the phone number ``\r\n\t * and the country ``\r\n\t * and the country ``.\r\n\t *\r\n\t * Web browser's \"autocomplete\" feature\r\n\t * remembers the phone number being input\r\n\t * and can also autofill the ``\r\n\t * with previously remembered phone numbers.\r\n\t *\r\n\t * https://developers.google.com\r\n\t * /web/updates/2015/06/checkout-faster-with-autofill\r\n\t *\r\n\t * For example, can be used to turn it off:\r\n\t *\r\n\t * \"So when should you use `autocomplete=\"off\"`?\r\n\t * One example is when you've implemented your own version\r\n\t * of autocomplete for search. Another example is any form field\r\n\t * where users will input and submit different kinds of information\r\n\t * where it would not be useful to have the browser remember\r\n\t * what was submitted previously\".\r\n\t */\r\n\t// (is `\"tel\"` by default)\r\n\tautoComplete: PropTypes.string.isRequired,\r\n\r\n\t/**\r\n\t * Set to `\"national\"` to show the initial `value` in\r\n\t * \"national\" format rather than \"international\".\r\n\t *\r\n\t * For example, if `initialValueFormat` is `\"national\"`\r\n\t * and the initial `value=\"+12133734253\"` is passed\r\n\t * then the `` value will be `\"(213) 373-4253\"`.\r\n\t *\r\n\t * By default, `initialValueFormat` is `undefined`,\r\n\t * meaning that if the initial `value=\"+12133734253\"` is passed\r\n\t * then the `` value will be `\"+1 213 373 4253\"`.\r\n\t *\r\n\t * The reason for such default behaviour is that\r\n\t * the newer generation grows up when there are no stationary phones\r\n\t * and therefore everyone inputs phone numbers in international format\r\n\t * in their smartphones so people gradually get more accustomed to\r\n\t * writing phone numbers in international format rather than in local format.\r\n\t * Future people won't be using \"national\" format, only \"international\".\r\n\t */\r\n\t// (is `undefined` by default)\r\n\tinitialValueFormat: PropTypes.oneOf(['national']),\r\n\r\n\t// `displayInitialValueAsLocalNumber` property has been\r\n\t// superceded by `initialValueFormat` property.\r\n\tdisplayInitialValueAsLocalNumber: PropTypes.bool,\r\n\r\n\t/**\r\n\t * The country to be selected by default.\r\n\t * For example, can be set after a GeoIP lookup.\r\n\t *\r\n\t * Example: `\"US\"`.\r\n\t */\r\n\t// A two-letter country code (\"ISO 3166-1 alpha-2\").\r\n\tdefaultCountry: PropTypes.string,\r\n\r\n\t/**\r\n\t * If specified, only these countries will be available for selection.\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `[\"RU\", \"UA\", \"KZ\"]`\r\n\t */\r\n\tcountries: PropTypes.arrayOf(PropTypes.string),\r\n\r\n\t/**\r\n\t * Custom country `` `aria-label`.\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `{ \"ZZ\": \"Международный\", RU: \"Россия\", US: \"США\", ... }`\r\n\t *\r\n\t * See the `locales` directory for examples.\r\n\t */\r\n\tlabels: labelsPropType.isRequired,\r\n\r\n\t/**\r\n\t * Country `` options sorting function.\r\n\t * The default one uses `a.localeCompare(b)`, and,\r\n\t * if that's not available, falls back to simple `a > b`/`a < b`.\r\n\t * There have been requests to add custom sorter for cases\r\n\t * like Chinese language and \"pinyin\" (non-default) sorting order.\r\n\t * https://stackoverflow.com/questions/22907288/chinese-sorting-by-pinyin-in-javascript-with-localecompare\r\n\tcompareStrings: PropTypes.func,\r\n\t */\r\n\r\n\t/**\r\n\t * A URL template of a country flag, where\r\n\t * \"{XX}\" is a two-letter country code in upper case,\r\n\t * or where \"{xx}\" is a two-letter country code in lower case.\r\n\t * By default it points to `country-flag-icons` gitlab pages website.\r\n\t * I imagine someone might want to download those country flag icons\r\n\t * and host them on their own servers instead\r\n\t * (all flags are available in the `country-flag-icons` library).\r\n\t * There's a catch though: new countries may be added in future,\r\n\t * so when hosting country flag icons on your own server\r\n\t * one should check the `CHANGELOG.md` every time before updating this library,\r\n\t * otherwise there's a possibility that some new country flag would be missing.\r\n\t */\r\n\tflagUrl: PropTypes.string.isRequired,\r\n\r\n\t/**\r\n\t * Custom country flag icon components.\r\n\t * These flags will be used instead of the default ones.\r\n\t * The the \"Flags\" section of the readme for more info.\r\n\t *\r\n\t * The shape is an object where keys are country codes\r\n\t * and values are flag icon components.\r\n\t * Flag icon components receive the same properties\r\n\t * as `flagComponent` (see below).\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `{ \"RU\": (props) => }`\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `import flags from 'country-flag-icons/react/3x2'`\r\n\t *\r\n\t * `import PhoneInput from 'react-phone-number-input'`\r\n\t *\r\n\t * ``\r\n\t */\r\n\tflags: PropTypes.objectOf(PropTypes.elementType),\r\n\r\n\t/**\r\n\t * Country flag icon component.\r\n\t *\r\n\t * Takes properties:\r\n\t *\r\n\t * * `country: string` — The country code.\r\n\t * * `countryName: string` — The country name.\r\n\t * * `flagUrl: string` — The `flagUrl` property (see above).\r\n\t * * `flags: object` — The `flags` property (see above).\r\n\t */\r\n\tflagComponent: PropTypes.elementType.isRequired,\r\n\r\n\t/**\r\n\t * Set to `false` to remove the \"International\" option from country `` options.\r\n\t *\r\n\t * * `\"XX\"` — inserts an option for \"XX\" country.\r\n\t * * `\"🌐\"` — inserts \"International\" option.\r\n\t * * `\"|\"` — inserts a separator.\r\n\t * * `\"...\"` — inserts options for the rest of the countries (can be omitted, in which case it will be automatically added at the end).\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `[\"US\", \"CA\", \"AU\", \"|\", \"...\"]`\r\n\t */\r\n\tcountryOptionsOrder: PropTypes.arrayOf(PropTypes.string),\r\n\r\n\t/**\r\n\t * `` component CSS style object.\r\n\t */\r\n\tstyle: PropTypes.object,\r\n\r\n\t/**\r\n\t * `` component CSS class.\r\n\t */\r\n\tclassName: PropTypes.string,\r\n\r\n\t/**\r\n\t * Country `` component props.\r\n\t * Along with the usual DOM properties such as `aria-label` and `tabIndex`,\r\n\t * some custom properties are supported, such as `arrowComponent` and `unicodeFlags`.\r\n\t */\r\n\tcountrySelectProps: PropTypes.object,\r\n\r\n\t/**\r\n\t * Phone number `` component.\r\n\t *\r\n\t * Receives properties:\r\n\t *\r\n\t * * `value: string` — The formatted `value`.\r\n\t * * `onChange(event: Event)` — Updates the formatted `value` from `event.target.value`.\r\n\t * * `onFocus()` — Is used to toggle the `--focus` CSS class.\r\n\t * * `onBlur()` — Is used to toggle the `--focus` CSS class.\r\n\t * * Other properties like `type=\"tel\"` or `autoComplete=\"tel\"` that should be passed through to the DOM ``.\r\n\t *\r\n\t * Must also either use `React.forwardRef()` to \"forward\" `ref` to the `` or implement `.focus()` method.\r\n\t */\r\n\tinputComponent: PropTypes.elementType.isRequired,\r\n\r\n\t/**\r\n\t * Wrapping `
` component.\r\n\t *\r\n\t * Receives properties:\r\n\t *\r\n\t * * `style: object` — A component CSS style object.\r\n\t * * `className: string` — Classes to attach to the component, typically changes when component focuses or blurs.\r\n\t */\r\n\tcontainerComponent: PropTypes.elementType.isRequired,\r\n\r\n\t/**\r\n\t * Phone number `` component props.\r\n\t */\r\n\tnumberInputProps: PropTypes.object,\r\n\r\n\t/**\r\n\t * When the user attempts to insert a digit somewhere in the middle of a phone number,\r\n\t * the caret position is moved right before the next available digit skipping\r\n\t * any punctuation in between. This is called \"smart\" caret positioning.\r\n\t * Another case would be the phone number format changing as a result of\r\n\t * the user inserting the digit somewhere in the middle, which would require\r\n\t * re-positioning the caret because all digit positions have changed.\r\n\t * This \"smart\" caret positioning feature can be turned off by passing\r\n\t * `smartCaret={false}` property: use it in case of any possible issues\r\n\t * with caret position during phone number input.\r\n\t */\r\n\t// Is `true` by default.\r\n\tsmartCaret: PropTypes.bool.isRequired,\r\n\r\n\t/**\r\n\t * Set to `true` to force \"international\" phone number format.\r\n\t * Set to `false` to force \"national\" phone number format.\r\n\t * By default it's `undefined` meaning that it doesn't enforce any phone number format.\r\n\t */\r\n\tinternational: PropTypes.bool,\r\n\r\n\t/**\r\n\t * If set to `true`, the phone number input will get trimmed\r\n\t * if it exceeds the maximum length for the country.\r\n\t */\r\n\tlimitMaxLength: PropTypes.bool.isRequired,\r\n\r\n\t/**\r\n\t * If set to `false`, and `international` is `true`, then\r\n\t * users won't be able to erase the \"country calling part\"\r\n\t * of a phone number in the ``.\r\n\t */\r\n\tcountryCallingCodeEditable: PropTypes.bool.isRequired,\r\n\r\n\t/**\r\n\t * `libphonenumber-js` metadata.\r\n\t *\r\n\t * Can be used to pass custom `libphonenumber-js` metadata\r\n\t * to reduce the overall bundle size for those who compile \"custom\" metadata.\r\n\t */\r\n\tmetadata: metadataPropType.isRequired,\r\n\r\n\t/**\r\n\t * Is called every time the selected country changes:\r\n\t * either programmatically or when user selects it manually from the list.\r\n\t */\r\n\t// People have been asking for a way to get the selected country.\r\n\t// @see https://github.com/catamphetamine/react-phone-number-input/issues/128\r\n\t// For some it's just a \"business requirement\".\r\n\t// I guess it's about gathering as much info on the user as a website can\r\n\t// without introducing any addional fields that would complicate the form\r\n\t// therefore reducing \"conversion\" (that's a marketing term).\r\n\t// Assuming that the phone number's country is the user's country\r\n\t// is not 100% correct but in most cases I guess it's valid.\r\n\tonCountryChange: PropTypes.func,\r\n\r\n\t/**\r\n\t * If set to `false`, will not focus the `` component\r\n\t * when the user selects a country from the list of countries.\r\n\t * This can be used to conform to the Web Content Accessibility Guidelines (WCAG).\r\n\t * Quote:\r\n\t * \"On input: Changing the setting of any user interface component\r\n\t * does not automatically cause a change of context unless the user\r\n\t * has been advised of the behaviour before using the component.\"\r\n\t */\r\n\tfocusInputOnCountrySelection: PropTypes.bool.isRequired\r\n}\r\n\r\nPhoneNumberInput.defaultProps = {\r\n\t/**\r\n\t * Remember (and autofill) the value as a phone number.\r\n\t */\r\n\tautoComplete: 'tel',\r\n\r\n\t/**\r\n\t * Country `` option icon.\r\n\t */\r\n\tinternationalIcon: InternationalIcon,\r\n\r\n\t/**\r\n\t * Phone number `` component.\r\n\t */\r\n\tinputComponent: 'input',\r\n\r\n\t/**\r\n\t * Wrapping `
` component.\r\n\t */\r\n\tcontainerComponent: 'div',\r\n\r\n\t/**\r\n\t * Some users requested a way to reset the component:\r\n\t * both number `` and country ``\r\n\t * and country ``.\r\n\t * It's also not replaced with just resetting `country` on\r\n\t * external `value` reset, because a user could select a country\r\n\t * and then not input any `value`, and so the selected country\r\n\t * would be \"stuck\", if not using this `reset` property.\r\n\t */\r\n\t// https://github.com/catamphetamine/react-phone-number-input/issues/300\r\n\treset: PropTypes.any,\r\n\r\n\t/**\r\n\t *\r\n\t */\r\n\r\n\t/**\r\n\t * Set to `false` to use \"basic\" caret instead of the \"smart\" one.\r\n\t */\r\n\tsmartCaret: true,\r\n\r\n\t/**\r\n\t * Whether to add the \"International\" option\r\n\t * to the list of countries.\r\n\t */\r\n\taddInternationalOption: true,\r\n\r\n\t/**\r\n\t * If set to `true` the phone number input will get trimmed\r\n\t * if it exceeds the maximum length for the country.\r\n\t */\r\n\tlimitMaxLength: false,\r\n\r\n\t/**\r\n\t * If set to `false`, and `international` is `true`, then\r\n\t * users won't be able to erase the \"country calling part\"\r\n\t * of a phone number in the ``.\r\n\t */\r\n\tcountryCallingCodeEditable: true,\r\n\r\n\t/**\r\n\t * If set to `false`, will not focus the `` component\r\n\t * when the user selects a country from the list of countries.\r\n\t * This can be used to conform to the Web Content Accessibility Guidelines (WCAG).\r\n\t * Quote:\r\n\t * \"On input: Changing the setting of any user interface component\r\n\t * does not automatically cause a change of context unless the user\r\n\t * has been advised of the behaviour before using the component.\"\r\n\t */\r\n\tfocusInputOnCountrySelection: true\r\n}\r\n\r\nexport default PhoneNumberInput\r\n\r\nlet countrySelectOptionsMemo\r\nlet countrySelectOptionsMemoDependencies\r\nfunction useMemoCountrySelectOptions(generator, dependencies) {\r\n\tif (!countrySelectOptionsMemoDependencies ||\r\n\t\t!areEqualArrays(dependencies, countrySelectOptionsMemoDependencies)) {\r\n\t\tcountrySelectOptionsMemo = generator()\r\n\t\tcountrySelectOptionsMemoDependencies = dependencies\r\n\t}\r\n\treturn countrySelectOptionsMemo\r\n}\r\n\r\nfunction areEqualArrays(a, b) {\r\n\tif (a.length !== b.length) {\r\n\t\treturn false\r\n\t}\r\n\tlet i = 0\r\n\twhile (i < a.length) {\r\n\t\tif (a[i] !== b[i]) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\treturn true\r\n}\r\n","import {\r\n\tgetInitialPhoneDigits,\r\n\tgetCountryForPartialE164Number,\r\n\tparsePhoneNumber\r\n} from './phoneInputHelpers'\r\n\r\nimport {\r\n\tisCountrySupportedWithError,\r\n\tgetSupportedCountries\r\n} from './countries'\r\n\r\nexport default function getPhoneInputWithCountryStateUpdateFromNewProps(props, prevProps, state) {\r\n\tconst {\r\n\t\tmetadata,\r\n\t\tcountries,\r\n\t\tdefaultCountry: newDefaultCountry,\r\n\t\tvalue: newValue,\r\n\t\treset: newReset,\r\n\t\tinternational,\r\n\t\t// `displayInitialValueAsLocalNumber` property has been\r\n\t\t// superceded by `initialValueFormat` property.\r\n\t\tdisplayInitialValueAsLocalNumber,\r\n\t\tinitialValueFormat\r\n\t} = props\r\n\r\n\tconst {\r\n\t\tdefaultCountry: prevDefaultCountry,\r\n\t\tvalue: prevValue,\r\n\t\treset: prevReset\r\n\t} = prevProps\r\n\r\n\tconst {\r\n\t\tcountry,\r\n\t\tvalue,\r\n\t\t// If the user has already manually selected a country\r\n\t\t// then don't override that already selected country\r\n\t\t// if the `defaultCountry` property changes.\r\n\t\t// That's what `hasUserSelectedACountry` flag is for.\r\n\t\thasUserSelectedACountry\r\n\t} = state\r\n\r\n\tconst _getInitialPhoneDigits = (parameters) => getInitialPhoneDigits({\r\n\t\t...parameters,\r\n\t\tinternational,\r\n\t\tuseNationalFormat: displayInitialValueAsLocalNumber || initialValueFormat === 'national',\r\n\t\tmetadata\r\n\t})\r\n\r\n\t// Some users requested a way to reset the component\r\n\t// (both number `` and country ``\r\n\t// and country ``.\r\n\t// It's also not replaced with just resetting `country` on\r\n\t// external `value` reset, because a user could select a country\r\n\t// and then not input any `value`, and so the selected country\r\n\t// would be \"stuck\", if not using this `reset` property.\r\n\t// https://github.com/catamphetamine/react-phone-number-input/issues/300\r\n\tif (newReset !== prevReset) {\r\n\t\treturn {\r\n\t\t\tphoneDigits: _getInitialPhoneDigits({\r\n\t\t\t\tvalue: undefined,\r\n\t\t\t\tdefaultCountry: newDefaultCountry\r\n\t\t\t}),\r\n\t\t\tvalue: undefined,\r\n\t\t\tcountry: newDefaultCountry,\r\n\t\t\thasUserSelectedACountry: undefined\r\n\t\t}\r\n\t}\r\n\r\n\t// `value` is the value currently shown in the component:\r\n\t// it's stored in the component's `state`, and it's not the `value` property.\r\n\t// `prevValue` is \"previous `value` property\".\r\n\t// `newValue` is \"new `value` property\".\r\n\r\n\t// If the default country changed\r\n\t// (e.g. in case of ajax GeoIP detection after page loaded)\r\n\t// then select it, but only if the user hasn't already manually\r\n\t// selected a country, and no phone number has been manually entered so far.\r\n\t// Because if the user has already started inputting a phone number\r\n\t// then they're okay with no country being selected at all (\"International\")\r\n\t// and they don't want to be disturbed, don't want their input to be screwed, etc.\r\n\tif (newDefaultCountry !== prevDefaultCountry) {\r\n\t\tconst isNewDefaultCountrySupported = !newDefaultCountry || isCountrySupportedWithError(newDefaultCountry, metadata)\r\n\t\tconst noValueHasBeenEnteredByTheUser = (\r\n\t\t\t// By default, \"no value has been entered\" means `value` is `undefined`.\r\n\t\t\t!value ||\r\n\t\t\t// When `international` is `true`, and some country has been pre-selected,\r\n\t\t\t// then the `` contains a pre-filled value of `+${countryCallingCode}${leadingDigits}`,\r\n\t\t\t// so in case of `international` being `true`, \"the user hasn't entered anything\" situation\r\n\t\t\t// doesn't just mean `value` is `undefined`, but could also mean `value` is `+${countryCallingCode}`.\r\n\t\t\t(international && value === _getInitialPhoneDigits({\r\n\t\t\t\tvalue: undefined,\r\n\t\t\t\tdefaultCountry: prevDefaultCountry\r\n\t\t\t}))\r\n\t\t)\r\n\t\t// Only update the `defaultCountry` property if no phone number\r\n\t\t// has been entered by the user or pre-set by the application.\r\n\t\tconst noValueHasBeenEntered = !newValue && noValueHasBeenEnteredByTheUser\r\n\t\tif (!hasUserSelectedACountry && isNewDefaultCountrySupported && noValueHasBeenEntered) {\r\n\t\t\treturn {\r\n\t\t\t\tcountry: newDefaultCountry,\r\n\t\t\t\t// If `phoneDigits` is empty, then automatically select the new `country`\r\n\t\t\t\t// and set `phoneDigits` to `+{getCountryCallingCode(newCountry)}`.\r\n\t\t\t\t// The code assumes that \"no phone number has been entered by the user\",\r\n\t\t\t\t// and no `value` property has been passed, so the `phoneNumber` parameter\r\n\t\t\t\t// of `_getInitialPhoneDigits({ value, phoneNumber, ... })` is `undefined`.\r\n\t\t\t\tphoneDigits: _getInitialPhoneDigits({\r\n\t\t\t\t\tvalue: undefined,\r\n\t\t\t\t\tdefaultCountry: newDefaultCountry\r\n\t\t\t\t}),\r\n\t\t\t\t// `value` is `undefined` and it stays so.\r\n\t\t\t\tvalue: undefined\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// If a new `value` is set externally.\r\n\t// (e.g. as a result of an ajax API request\r\n\t// to get user's phone after page loaded)\r\n\t// The first part — `newValue !== prevValue` —\r\n\t// is basically `props.value !== prevProps.value`\r\n\t// so it means \"if value property was changed externally\".\r\n\t// The second part — `newValue !== value` —\r\n\t// is for ignoring the `getDerivedStateFromProps()` call\r\n\t// which happens in `this.onChange()` right after `this.setState()`.\r\n\t// If this `getDerivedStateFromProps()` call isn't ignored\r\n\t// then the country flag would reset on each input.\r\n\tif (newValue !== prevValue && newValue !== value) {\r\n\t\tlet phoneNumber\r\n\t\tlet parsedCountry\r\n\t\tif (newValue) {\r\n\t\t\tphoneNumber = parsePhoneNumber(newValue, metadata)\r\n\t\t\tconst supportedCountries = getSupportedCountries(countries, metadata)\r\n\t\t\tif (phoneNumber && phoneNumber.country) {\r\n\t\t\t\t// Ignore `else` because all countries are supported in metadata.\r\n\t\t\t\t/* istanbul ignore next */\r\n\t\t\t\tif (!supportedCountries || supportedCountries.indexOf(phoneNumber.country) >= 0) {\r\n\t\t\t\t\tparsedCountry = phoneNumber.country\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tparsedCountry = getCountryForPartialE164Number(newValue, {\r\n\t\t\t\t\tcountry: undefined,\r\n\t\t\t\t\tcountries: supportedCountries,\r\n\t\t\t\t\tmetadata\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t\tlet hasUserSelectedACountryUpdate\r\n\t\tif (!newValue) {\r\n\t\t\t// Reset `hasUserSelectedACountry` flag in `state`.\r\n\t\t\thasUserSelectedACountryUpdate = {\r\n\t\t\t\thasUserSelectedACountry: undefined\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn {\r\n\t\t\t...hasUserSelectedACountryUpdate,\r\n\t\t\tphoneDigits: _getInitialPhoneDigits({\r\n\t\t\t\tphoneNumber,\r\n\t\t\t\tvalue: newValue,\r\n\t\t\t\tdefaultCountry: newDefaultCountry\r\n\t\t\t}),\r\n\t\t\tvalue: newValue,\r\n\t\t\tcountry: newValue ? parsedCountry : newDefaultCountry\r\n\t\t}\r\n\t}\r\n\r\n\t// `defaultCountry` didn't change.\r\n\t// `value` didn't change.\r\n\t// `phoneDigits` didn't change, because `value` didn't change.\r\n\t//\r\n\t// So no need to update state.\r\n}","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport labels from '../locale/en.json'\r\n\r\nimport {\r\n\tmetadata as metadataPropType,\r\n\tlabels as labelsPropType\r\n} from './PropTypes'\r\n\r\nimport PhoneInput from './PhoneInputWithCountry'\r\n\r\nexport function createPhoneInput(defaultMetadata) {\r\n\tconst PhoneInputDefault = React.forwardRef((props, ref) => (\r\n\t\t\r\n\t))\r\n\r\n\tPhoneInputDefault.propTypes = {\r\n\t\tmetadata: metadataPropType.isRequired,\r\n\t\tlabels: labelsPropType.isRequired\r\n\t}\r\n\r\n\tPhoneInputDefault.defaultProps = {\r\n\t\tmetadata: defaultMetadata,\r\n\t\tlabels\r\n\t}\r\n\r\n\treturn PhoneInputDefault\r\n}\r\n\r\nexport default createPhoneInput()","import metadata from 'libphonenumber-js/metadata.min.json'\r\n\r\nimport {\r\n\tparsePhoneNumber as _parsePhoneNumber,\r\n\tformatPhoneNumber as _formatPhoneNumber,\r\n\tformatPhoneNumberIntl as _formatPhoneNumberIntl,\r\n\tisValidPhoneNumber as _isValidPhoneNumber,\r\n\tisPossiblePhoneNumber as _isPossiblePhoneNumber,\r\n\tgetCountries as _getCountries,\r\n\tgetCountryCallingCode as _getCountryCallingCode,\r\n\tisSupportedCountry as _isSupportedCountry\r\n} from '../core/index'\r\n\r\nimport { createPhoneInput } from '../modules/PhoneInputWithCountryDefault'\r\n\r\nfunction call(func, _arguments) {\r\n\tvar args = Array.prototype.slice.call(_arguments)\r\n\targs.push(metadata)\r\n\treturn func.apply(this, args)\r\n}\r\n\r\nexport default createPhoneInput(metadata)\r\n\r\nexport function parsePhoneNumber() {\r\n\treturn call(_parsePhoneNumber, arguments)\r\n}\r\n\r\nexport function formatPhoneNumber() {\r\n\treturn call(_formatPhoneNumber, arguments)\r\n}\r\n\r\nexport function formatPhoneNumberIntl() {\r\n\treturn call(_formatPhoneNumberIntl, arguments)\r\n}\r\n\r\nexport function isValidPhoneNumber() {\r\n\treturn call(_isValidPhoneNumber, arguments)\r\n}\r\n\r\nexport function isPossiblePhoneNumber() {\r\n\treturn call(_isPossiblePhoneNumber, arguments)\r\n}\r\n\r\nexport function getCountries() {\r\n\treturn call(_getCountries, arguments)\r\n}\r\n\r\nexport function getCountryCallingCode() {\r\n\treturn call(_getCountryCallingCode, arguments)\r\n}\r\n\r\nexport function isSupportedCountry() {\r\n\treturn call(_isSupportedCountry, arguments)\r\n}","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Helper function for iterating over a collection\n *\n * @param collection\n * @param fn\n */\nfunction each(collection, fn) {\n var i = 0,\n length = collection.length,\n cont;\n\n for(i; i < length; i++) {\n cont = fn(collection[i], i);\n if(cont === false) {\n break; //allow early exit\n }\n }\n}\n\n/**\n * Helper function for determining whether target object is an array\n *\n * @param target the object under test\n * @return {Boolean} true if array, false otherwise\n */\nfunction isArray(target) {\n return Object.prototype.toString.apply(target) === '[object Array]';\n}\n\n/**\n * Helper function for determining whether target object is a function\n *\n * @param target the object under test\n * @return {Boolean} true if function, false otherwise\n */\nfunction isFunction(target) {\n return typeof target === 'function';\n}\n\nmodule.exports = {\n isFunction : isFunction,\n isArray : isArray,\n each : each\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _slider = _interopRequireDefault(require(\"./slider\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _default = _slider[\"default\"];\nexports[\"default\"] = _default;","module.exports = require('./dist/index');","/**\nA function that returns a universally unique identifier (uuid). \nexample: 1b83fd69-abe7-468c-bea1-306a8aa1c81d\n@returns `string` : 32 character uuid (see example)\n*/\nfunction uuid() {\n const hashTable = [\n 'a',\n 'b',\n 'c',\n 'd',\n 'e',\n 'f',\n '0',\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9'\n ]\n let uuid = []\n for (let i = 0; i < 35; i++) {\n if (i === 7 || i === 12 || i === 17 || i === 22) {\n uuid[i] = '-'\n } else {\n uuid[i] = hashTable[Math.floor(Math.random() * hashTable.length - 1)]\n }\n }\n return uuid.join('')\n}\n\nmodule.exports = uuid\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","function stylis_min (W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {\n }\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport React from 'react';\nimport { Router, __RouterContext, matchPath } from 'react-router';\nexport * from 'react-router';\nimport { createBrowserHistory, createHashHistory, createLocation } from 'history';\nimport PropTypes from 'prop-types';\nimport warning from 'tiny-warning';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport invariant from 'tiny-invariant';\n\n/**\n * The public API for a that uses HTML5 history.\n */\n\nvar BrowserRouter =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(BrowserRouter, _React$Component);\n\n function BrowserRouter() {\n var _this;\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 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = createBrowserHistory(_this.props);\n return _this;\n }\n\n var _proto = BrowserRouter.prototype;\n\n _proto.render = function render() {\n return React.createElement(Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return BrowserRouter;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\") : void 0;\n };\n}\n\n/**\n * The public API for a that uses window.location.hash.\n */\n\nvar HashRouter =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(HashRouter, _React$Component);\n\n function HashRouter() {\n var _this;\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 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = createHashHistory(_this.props);\n return _this;\n }\n\n var _proto = HashRouter.prototype;\n\n _proto.render = function render() {\n return React.createElement(Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return HashRouter;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { HashRouter as Router }`.\") : void 0;\n };\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n/**\n * The public API for rendering a history-aware .\n */\n\n\nvar Link =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Link, _React$Component);\n\n function Link() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Link.prototype;\n\n _proto.handleClick = function handleClick(event, history) {\n try {\n if (this.props.onClick) this.props.onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (!event.defaultPrevented && // onClick prevented default\n event.button === 0 && ( // ignore everything but left clicks\n !this.props.target || this.props.target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n var method = this.props.replace ? history.replace : history.push;\n method(this.props.to);\n }\n };\n\n _proto.render = function render() {\n var _this = this;\n\n var _this$props = this.props,\n innerRef = _this$props.innerRef,\n replace = _this$props.replace,\n to = _this$props.to,\n rest = _objectWithoutPropertiesLoose(_this$props, [\"innerRef\", \"replace\", \"to\"]); // eslint-disable-line no-unused-vars\n\n\n return React.createElement(__RouterContext.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var location = typeof to === \"string\" ? createLocation(to, null, null, context.location) : to;\n var href = location ? context.history.createHref(location) : \"\";\n return React.createElement(\"a\", _extends({}, rest, {\n onClick: function onClick(event) {\n return _this.handleClick(event, context.history);\n },\n href: href,\n ref: innerRef\n }));\n });\n };\n\n return Link;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n var toType = PropTypes.oneOfType([PropTypes.string, PropTypes.object]);\n var innerRefType = PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.shape({\n current: PropTypes.any\n })]);\n Link.propTypes = {\n innerRef: innerRefType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nfunction joinClassnames() {\n for (var _len = arguments.length, classnames = new Array(_len), _key = 0; _key < _len; _key++) {\n classnames[_key] = arguments[_key];\n }\n\n return classnames.filter(function (i) {\n return i;\n }).join(\" \");\n}\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\n\n\nfunction NavLink(_ref) {\n var _ref$ariaCurrent = _ref[\"aria-current\"],\n ariaCurrent = _ref$ariaCurrent === void 0 ? \"page\" : _ref$ariaCurrent,\n _ref$activeClassName = _ref.activeClassName,\n activeClassName = _ref$activeClassName === void 0 ? \"active\" : _ref$activeClassName,\n activeStyle = _ref.activeStyle,\n classNameProp = _ref.className,\n exact = _ref.exact,\n isActiveProp = _ref.isActive,\n locationProp = _ref.location,\n strict = _ref.strict,\n styleProp = _ref.style,\n to = _ref.to,\n rest = _objectWithoutPropertiesLoose(_ref, [\"aria-current\", \"activeClassName\", \"activeStyle\", \"className\", \"exact\", \"isActive\", \"location\", \"strict\", \"style\", \"to\"]);\n\n var path = typeof to === \"object\" ? to.pathname : to; // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n\n var escapedPath = path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n return React.createElement(__RouterContext.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var pathToMatch = locationProp ? locationProp.pathname : context.location.pathname;\n var match = escapedPath ? matchPath(pathToMatch, {\n path: escapedPath,\n exact: exact,\n strict: strict\n }) : null;\n var isActive = !!(isActiveProp ? isActiveProp(match, context.location) : match);\n var className = isActive ? joinClassnames(classNameProp, activeClassName) : classNameProp;\n var style = isActive ? _extends({}, styleProp, activeStyle) : styleProp;\n return React.createElement(Link, _extends({\n \"aria-current\": isActive && ariaCurrent || null,\n className: className,\n style: style,\n to: to\n }, rest));\n });\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n var ariaCurrentType = PropTypes.oneOf([\"page\", \"step\", \"location\", \"date\", \"time\", \"true\"]);\n NavLink.propTypes = _extends({}, Link.propTypes, {\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.string,\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n strict: PropTypes.bool,\n style: PropTypes.object\n });\n}\n\nexport { BrowserRouter, HashRouter, Link, NavLink };\n","import React, { Component } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport PropTypes from 'prop-types';\nimport warning from 'tiny-warning';\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\n\nfunction getUniqueId() {\n var key = '__global_unique_id__';\n return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n}\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + getUniqueId() + '__';\n\n var Provider = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (process.env.NODE_ENV !== 'production') {\n warning((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = PropTypes.object.isRequired, _Provider$childContex);\n\n var Consumer = /*#__PURE__*/function (_Component2) {\n _inheritsLoose(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = PropTypes.object, _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = React.createContext || createReactContext;\n\nexport default index;\n",null,null,null,null,null,null,null,null,null,null,"function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default index;\n","/** @license React v17.0.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<=ae),de=String.fromCharCode(32),ee=!1;\nfunction fe(a,b){switch(a){case \"keyup\":return-1!==Zd.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function ge(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var he=!1;function ie(a,b){switch(a){case \"compositionend\":return ge(b);case \"keypress\":if(32!==b.which)return null;ee=!0;return de;case \"textInput\":return a=b.data,a===de&&ee?null:a;default:return null}}\nfunction je(a,b){if(he)return\"compositionend\"===a||!$d&&fe(a,b)?(a=md(),ld=kd=jd=null,he=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Oe=fa&&\"documentMode\"in document&&11>=document.documentMode,Pe=null,Qe=null,Re=null,Se=!1;\nfunction Te(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Se||null==Pe||Pe!==Xa(d)||(d=Pe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Re&&Ie(Re,d)||(Re=d,d=ne(Qe,\"onSelect\"),0zf||(a.current=yf[zf],yf[zf]=null,zf--)}function I(a,b){zf++;yf[zf]=a.current;a.current=b}var Bf={},M=Af(Bf),N=Af(!1),Cf=Bf;\nfunction Df(a,b){var c=a.type.contextTypes;if(!c)return Bf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ef(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Ff(){H(N);H(M)}function Gf(a,b,c){if(M.current!==Bf)throw Error(y(168));I(M,b);I(N,c)}\nfunction Hf(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function If(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Bf;Cf=M.current;I(M,a);I(N,N.current);return!0}function Jf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=Hf(a,b,Cf),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Kf=null,Lf=null,Mf=r.unstable_runWithPriority,Nf=r.unstable_scheduleCallback,Of=r.unstable_cancelCallback,Pf=r.unstable_shouldYield,Qf=r.unstable_requestPaint,Rf=r.unstable_now,Sf=r.unstable_getCurrentPriorityLevel,Tf=r.unstable_ImmediatePriority,Uf=r.unstable_UserBlockingPriority,Vf=r.unstable_NormalPriority,Wf=r.unstable_LowPriority,Xf=r.unstable_IdlePriority,Yf={},Zf=void 0!==Qf?Qf:function(){},$f=null,ag=null,bg=!1,cg=Rf(),O=1E4>cg?Rf:function(){return Rf()-cg};\nfunction dg(){switch(Sf()){case Tf:return 99;case Uf:return 98;case Vf:return 97;case Wf:return 96;case Xf:return 95;default:throw Error(y(332));}}function eg(a){switch(a){case 99:return Tf;case 98:return Uf;case 97:return Vf;case 96:return Wf;case 95:return Xf;default:throw Error(y(332));}}function fg(a,b){a=eg(a);return Mf(a,b)}function gg(a,b,c){a=eg(a);return Nf(a,b,c)}function hg(){if(null!==ag){var a=ag;ag=null;Of(a)}ig()}\nfunction ig(){if(!bg&&null!==$f){bg=!0;var a=0;try{var b=$f;fg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nVg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g=Af(Zg),ah=Af(Zg),bh=Af(Zg);\nfunction ch(a){if(a===Zg)throw Error(y(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=mb(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var P=Af(0);\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var ih=null,jh=null,kh=!1;\nfunction lh(a,b){var c=mh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function nh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction oh(a){if(kh){var b=jh;if(b){var c=b;if(!nh(a,b)){b=qf(c.nextSibling);if(!b||!nh(a,b)){a.flags=a.flags&-1025|2;kh=!1;ih=a;return}lh(ih,c)}ih=a;jh=qf(b.firstChild)}else a.flags=a.flags&-1025|2,kh=!1,ih=a}}function ph(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;ih=a}\nfunction qh(a){if(a!==ih)return!1;if(!kh)return ph(a),kh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!mf(b,a.memoizedProps))for(b=jh;b;)lh(a,b),b=qf(b.nextSibling);ph(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){jh=qf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}jh=null}}else jh=ih?qf(a.stateNode.nextSibling):null;return!0}\nfunction rh(){jh=ih=null;kh=!1}var sh=[];function th(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;uh.current=Eh;a=c(d,e)}while(yh)}uh.current=Fh;b=null!==S&&null!==S.next;wh=0;T=S=R=null;xh=!1;if(b)throw Error(y(300));return a}function Gh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Hh(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Ih(a,b){return\"function\"===typeof b?b(a):b}\nfunction Jh(a){var b=Hh(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((wh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Cg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;Ge(d,b.memoizedState)||(tg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Kh(a){var b=Hh(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);Ge(f,b.memoizedState)||(tg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Lh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(wh&a)===a)b._workInProgressVersionPrimary=d,sh.push(b);if(a)return c(b._source);sh.push(b);throw Error(y(350));}\nfunction Mh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=uh.current,k=h.useState(function(){return Lh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!Ge(g,a)){a=c(b._source);Ge(n,a)||(l(a),a=Hg(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});fg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[vf]=b;a[wf]=d;Ai(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eIi&&(b.flags|=64,f=!0,Ei(d,!1),b.lanes=33554432)}else{if(!f)if(a=hh(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ei(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!kh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ii&&1073741824!==c&&(b.flags|=\n64,f=!0,Ei(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ji(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Ki(a){switch(a.tag){case 1:Ef(a.type)&&Ff();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:eh();H(N);H(M);th();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return gh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return eh(),null;case 10:return qg(a),null;case 23:case 24:return Ji(),null;default:return null}}\nfunction Li(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Mi(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Ni=\"function\"===typeof WeakMap?WeakMap:Map;function Oi(a,b,c){c=yg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Pi||(Pi=!0,Qi=d);Mi(a,b)};return c}\nfunction Ri(a,b,c){c=yg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Mi(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Si?Si=new Set([this]):Si.add(this),Mi(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ti=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Ui(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Vi(a,c)}else b.current=null}function Wi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:kg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&pf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Xi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Yi(c,a),Zi(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:kg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Dg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Dg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&lf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction $i(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction aj(a,b){if(Lf&&\"function\"===typeof Lf.onCommitFiberUnmount)try{Lf.onCommitFiberUnmount(Kf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Yi(b,c);else{d=b;try{e()}catch(f){Vi(d,f)}}c=c.next}while(c!==a)}break;case 1:Ui(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Vi(b,\nf)}break;case 5:Ui(b);break;case 4:bj(a,b)}}function cj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function dj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction ej(a){a:{for(var b=a.return;null!==b;){if(dj(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||dj(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?fj(a,c,b):gj(a,c,b)}\nfunction fj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=hf));else if(4!==d&&(a=a.child,null!==a))for(fj(a,b,c),a=a.sibling;null!==a;)fj(a,b,c),a=a.sibling}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction bj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(aj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(aj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction hj(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[wf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*mj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Li(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Oi(p,f,b);Ag(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Si||!Si.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Ri(p,f,b);Ag(p,L);break a}}p=p.return}while(null!==p)}Yj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Oj(){var a=nj.current;nj.current=Fh;return null===a?Fh:a}function Sj(a,b){var c=X;X|=16;var d=Oj();U===a&&W===b||Pj(a,b);do try{Zj();break}catch(e){Rj(a,e)}while(1);pg();X=c;nj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function Zj(){for(;null!==Y;)ak(Y)}function Qj(){for(;null!==Y&&!Pf();)ak(Y)}function ak(a){var b=bk(a.alternate,a,pj);a.memoizedProps=a.pendingProps;null===b?Yj(a):Y=b;oj.current=null}\nfunction Yj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Fi(c,b,pj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(pj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Ke(t,J),f=Ke(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-ij?Pj(a,0):tj|=c);Lj(a,b)}function kj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===dg()?1:2:(0===Fj&&(Fj=sj),b=Yc(62914560&~Fj),0===b&&(b=4194304)));c=Gg();a=Jj(a,b);null!==a&&(Zc(a,b,c),Lj(a,c))}var bk;\nbk=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)tg=!0;else if(0!==(c&d))tg=0!==(a.flags&16384)?!0:!1;else{tg=!1;switch(b.tag){case 3:qi(b);rh();break;case 5:fh(b);break;case 1:Ef(b.type)&&If(b);break;case 4:dh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(lg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return si(a,b,c);I(P,P.current&1);b=gi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return zi(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,li(a,b,c)}return gi(a,b,c)}else tg=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Df(b,M.current);sg(b,c);e=Bh(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ef(d)){var f=!0;If(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;wg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternals=b;Ng(b,d,a,c);b=pi(null,b,d,!0,f,c)}else b.tag=0,ei(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=gk(e);a=kg(e,a);switch(f){case 0:b=ki(null,b,e,a,c);break a;case 1:b=oi(null,b,e,a,c);break a;case 11:b=fi(null,b,e,a,c);break a;case 14:b=hi(null,b,e,kg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:kg(d,e),ki(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:kg(d,e),oi(a,b,d,e,c);case 3:qi(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;xg(a,b);Bg(b,d,null,c);d=b.memoizedState.element;if(d===e)rh(),b=gi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)jh=qf(b.stateNode.containerInfo.firstChild),ih=b,f=kh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","/** @license React v17.0.2\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","var unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nmodule.exports = _createForOfIteratorHelper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\n\nvar possibleConstructorReturn = require(\"./possibleConstructorReturn.js\");\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\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\nmodule.exports = _createSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _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 Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _innerSlider = require(\"./inner-slider\");\n\nvar _json2mq = _interopRequireDefault(require(\"json2mq\"));\n\nvar _defaultProps = _interopRequireDefault(require(\"./default-props\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar enquire = (0, _innerSliderUtils.canUseDOM)() && require(\"enquire.js\");\n\nvar Slider =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Slider, _React$Component);\n\n function Slider(props) {\n var _this;\n\n _classCallCheck(this, Slider);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Slider).call(this, props));\n\n _defineProperty(_assertThisInitialized(_this), \"innerSliderRefHandler\", function (ref) {\n return _this.innerSlider = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPrev\", function () {\n return _this.innerSlider.slickPrev();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n return _this.innerSlider.slickNext();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickGoTo\", function (slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return _this.innerSlider.slickGoTo(slide, dontAnimate);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPause\", function () {\n return _this.innerSlider.pause(\"paused\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPlay\", function () {\n return _this.innerSlider.autoPlay(\"play\");\n });\n\n _this.state = {\n breakpoint: null\n };\n _this._responsiveMediaHandlers = [];\n return _this;\n }\n\n _createClass(Slider, [{\n key: \"media\",\n value: function media(query, handler) {\n // javascript handler for css media query\n enquire.register(query, handler);\n\n this._responsiveMediaHandlers.push({\n query: query,\n handler: handler\n });\n } // handles responsive breakpoints\n\n }, {\n key: \"UNSAFE_componentWillMount\",\n value: function UNSAFE_componentWillMount() {\n var _this2 = this;\n\n // performance monitoring\n //if (process.env.NODE_ENV !== 'production') {\n //const { whyDidYouUpdate } = require('why-did-you-update')\n //whyDidYouUpdate(React)\n //}\n if (this.props.responsive) {\n var breakpoints = this.props.responsive.map(function (breakpt) {\n return breakpt.breakpoint;\n }); // sort them in increasing order of their numerical value\n\n breakpoints.sort(function (x, y) {\n return x - y;\n });\n breakpoints.forEach(function (breakpoint, index) {\n // media query for each breakpoint\n var bQuery;\n\n if (index === 0) {\n bQuery = (0, _json2mq[\"default\"])({\n minWidth: 0,\n maxWidth: breakpoint\n });\n } else {\n bQuery = (0, _json2mq[\"default\"])({\n minWidth: breakpoints[index - 1] + 1,\n maxWidth: breakpoint\n });\n } // when not using server side rendering\n\n\n (0, _innerSliderUtils.canUseDOM)() && _this2.media(bQuery, function () {\n _this2.setState({\n breakpoint: breakpoint\n });\n });\n }); // Register media query for full screen. Need to support resize from small to large\n // convert javascript object to media query string\n\n var query = (0, _json2mq[\"default\"])({\n minWidth: breakpoints.slice(-1)[0]\n });\n (0, _innerSliderUtils.canUseDOM)() && this.media(query, function () {\n _this2.setState({\n breakpoint: null\n });\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._responsiveMediaHandlers.forEach(function (obj) {\n enquire.unregister(obj.query, obj.handler);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var settings;\n var newProps;\n\n if (this.state.breakpoint) {\n newProps = this.props.responsive.filter(function (resp) {\n return resp.breakpoint === _this3.state.breakpoint;\n });\n settings = newProps[0].settings === \"unslick\" ? \"unslick\" : _objectSpread({}, _defaultProps[\"default\"], {}, this.props, {}, newProps[0].settings);\n } else {\n settings = _objectSpread({}, _defaultProps[\"default\"], {}, this.props);\n } // force scrolling by one if centerMode is on\n\n\n if (settings.centerMode) {\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToScroll should be equal to 1 in centerMode, you are using \".concat(settings.slidesToScroll));\n }\n\n settings.slidesToScroll = 1;\n } // force showing one slide and scrolling by one if the fade mode is on\n\n\n if (settings.fade) {\n if (settings.slidesToShow > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToShow should be equal to 1 when fade is true, you're using \".concat(settings.slidesToShow));\n }\n\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToScroll should be equal to 1 when fade is true, you're using \".concat(settings.slidesToScroll));\n }\n\n settings.slidesToShow = 1;\n settings.slidesToScroll = 1;\n } // makes sure that children is an array, even when there is only 1 child\n\n\n var children = _react[\"default\"].Children.toArray(this.props.children); // Children may contain false or null, so we should filter them\n // children may also contain string filled with spaces (in certain cases where we use jsx strings)\n\n\n children = children.filter(function (child) {\n if (typeof child === \"string\") {\n return !!child.trim();\n }\n\n return !!child;\n }); // rows and slidesPerRow logic is handled here\n\n if (settings.variableWidth && (settings.rows > 1 || settings.slidesPerRow > 1)) {\n console.warn(\"variableWidth is not supported in case of rows > 1 or slidesPerRow > 1\");\n settings.variableWidth = false;\n }\n\n var newChildren = [];\n var currentWidth = null;\n\n for (var i = 0; i < children.length; i += settings.rows * settings.slidesPerRow) {\n var newSlide = [];\n\n for (var j = i; j < i + settings.rows * settings.slidesPerRow; j += settings.slidesPerRow) {\n var row = [];\n\n for (var k = j; k < j + settings.slidesPerRow; k += 1) {\n if (settings.variableWidth && children[k].props.style) {\n currentWidth = children[k].props.style.width;\n }\n\n if (k >= children.length) break;\n row.push(_react[\"default\"].cloneElement(children[k], {\n key: 100 * i + 10 * j + k,\n tabIndex: -1,\n style: {\n width: \"\".concat(100 / settings.slidesPerRow, \"%\"),\n display: \"inline-block\"\n }\n }));\n }\n\n newSlide.push(_react[\"default\"].createElement(\"div\", {\n key: 10 * i + j\n }, row));\n }\n\n if (settings.variableWidth) {\n newChildren.push(_react[\"default\"].createElement(\"div\", {\n key: i,\n style: {\n width: currentWidth\n }\n }, newSlide));\n } else {\n newChildren.push(_react[\"default\"].createElement(\"div\", {\n key: i\n }, newSlide));\n }\n }\n\n if (settings === \"unslick\") {\n var className = \"regular slider \" + (this.props.className || \"\");\n return _react[\"default\"].createElement(\"div\", {\n className: className\n }, children);\n } else if (newChildren.length <= settings.slidesToShow) {\n settings.unslick = true;\n }\n\n return _react[\"default\"].createElement(_innerSlider.InnerSlider, _extends({\n style: this.props.style,\n ref: this.innerSliderRefHandler\n }, settings), newChildren);\n }\n }]);\n\n return Slider;\n}(_react[\"default\"].Component);\n\nexports[\"default\"] = Slider;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InnerSlider = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _initialState = _interopRequireDefault(require(\"./initial-state\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash.debounce\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nvar _track = require(\"./track\");\n\nvar _dots = require(\"./dots\");\n\nvar _arrows = require(\"./arrows\");\n\nvar _resizeObserverPolyfill = _interopRequireDefault(require(\"resize-observer-polyfill\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar InnerSlider =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(InnerSlider, _React$Component);\n\n function InnerSlider(props) {\n var _this;\n\n _classCallCheck(this, InnerSlider);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InnerSlider).call(this, props));\n\n _defineProperty(_assertThisInitialized(_this), \"listRefHandler\", function (ref) {\n return _this.list = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"trackRefHandler\", function (ref) {\n return _this.track = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"adaptHeight\", function () {\n if (_this.props.adaptiveHeight && _this.list) {\n var elem = _this.list.querySelector(\"[data-index=\\\"\".concat(_this.state.currentSlide, \"\\\"]\"));\n\n _this.list.style.height = (0, _innerSliderUtils.getHeight)(elem) + \"px\";\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"UNSAFE_componentWillMount\", function () {\n _this.ssrInit();\n\n _this.props.onInit && _this.props.onInit();\n\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)(_objectSpread({}, _this.props, {}, _this.state));\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n var spec = _objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props);\n\n _this.updateState(spec, true, function () {\n _this.adaptHeight();\n\n _this.props.autoplay && _this.autoPlay(\"update\");\n });\n\n if (_this.props.lazyLoad === \"progressive\") {\n _this.lazyLoadTimer = setInterval(_this.progressiveLazyLoad, 1000);\n }\n\n _this.ro = new _resizeObserverPolyfill[\"default\"](function () {\n if (_this.state.animating) {\n _this.onWindowResized(false); // don't set trackStyle hence don't break animation\n\n\n _this.callbackTimers.push(setTimeout(function () {\n return _this.onWindowResized();\n }, _this.props.speed));\n } else {\n _this.onWindowResized();\n }\n });\n\n _this.ro.observe(_this.list);\n\n Array.prototype.forEach.call(document.querySelectorAll(\".slick-slide\"), function (slide) {\n slide.onfocus = _this.props.pauseOnFocus ? _this.onSlideFocus : null;\n slide.onblur = _this.props.pauseOnFocus ? _this.onSlideBlur : null;\n });\n\n if (window.addEventListener) {\n window.addEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.attachEvent(\"onresize\", _this.onWindowResized);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentWillUnmount\", function () {\n if (_this.animationEndCallback) {\n clearTimeout(_this.animationEndCallback);\n }\n\n if (_this.lazyLoadTimer) {\n clearInterval(_this.lazyLoadTimer);\n }\n\n if (_this.callbackTimers.length) {\n _this.callbackTimers.forEach(function (timer) {\n return clearTimeout(timer);\n });\n\n _this.callbackTimers = [];\n }\n\n if (window.addEventListener) {\n window.removeEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.detachEvent(\"onresize\", _this.onWindowResized);\n }\n\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n\n _this.ro.disconnect();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"UNSAFE_componentWillReceiveProps\", function (nextProps) {\n var spec = _objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, nextProps, {}, _this.state);\n\n var setTrackStyle = false;\n\n for (var _i = 0, _Object$keys = Object.keys(_this.props); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n\n if (!nextProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n\n if (_typeof(nextProps[key]) === \"object\" || typeof nextProps[key] === \"function\") {\n continue;\n }\n\n if (nextProps[key] !== _this.props[key]) {\n setTrackStyle = true;\n break;\n }\n }\n\n _this.updateState(spec, setTrackStyle, function () {\n if (_this.state.currentSlide >= _react[\"default\"].Children.count(nextProps.children)) {\n _this.changeSlide({\n message: \"index\",\n index: _react[\"default\"].Children.count(nextProps.children) - nextProps.slidesToShow,\n currentSlide: _this.state.currentSlide\n });\n }\n\n if (nextProps.autoplay) {\n _this.autoPlay(\"update\");\n } else {\n _this.pause(\"paused\");\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidUpdate\", function () {\n _this.checkImagesLoad();\n\n _this.props.onReInit && _this.props.onReInit();\n\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)(_objectSpread({}, _this.props, {}, _this.state));\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n }\n } // if (this.props.onLazyLoad) {\n // this.props.onLazyLoad([leftMostSlide])\n // }\n\n\n _this.adaptHeight();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onWindowResized\", function (setTrackStyle) {\n if (_this.debouncedResize) _this.debouncedResize.cancel();\n _this.debouncedResize = (0, _lodash[\"default\"])(function () {\n return _this.resizeWindow(setTrackStyle);\n }, 50);\n\n _this.debouncedResize();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"resizeWindow\", function () {\n var setTrackStyle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n if (!_reactDom[\"default\"].findDOMNode(_this.track)) return;\n\n var spec = _objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props, {}, _this.state);\n\n _this.updateState(spec, setTrackStyle, function () {\n if (_this.props.autoplay) _this.autoPlay(\"update\");else _this.pause(\"paused\");\n }); // animating state should be cleared while resizing, otherwise autoplay stops working\n\n\n _this.setState({\n animating: false\n });\n\n clearTimeout(_this.animationEndCallback);\n delete _this.animationEndCallback;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateState\", function (spec, setTrackStyle, callback) {\n var updatedState = (0, _innerSliderUtils.initializedState)(spec);\n spec = _objectSpread({}, spec, {}, updatedState, {\n slideIndex: updatedState.currentSlide\n });\n var targetLeft = (0, _innerSliderUtils.getTrackLeft)(spec);\n spec = _objectSpread({}, spec, {\n left: targetLeft\n });\n var trackStyle = (0, _innerSliderUtils.getTrackCSS)(spec);\n\n if (setTrackStyle || _react[\"default\"].Children.count(_this.props.children) !== _react[\"default\"].Children.count(spec.children)) {\n updatedState[\"trackStyle\"] = trackStyle;\n }\n\n _this.setState(updatedState, callback);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"ssrInit\", function () {\n if (_this.props.variableWidth) {\n var _trackWidth = 0,\n _trackLeft = 0;\n var childrenWidths = [];\n var preClones = (0, _innerSliderUtils.getPreClones)(_objectSpread({}, _this.props, {}, _this.state, {\n slideCount: _this.props.children.length\n }));\n var postClones = (0, _innerSliderUtils.getPostClones)(_objectSpread({}, _this.props, {}, _this.state, {\n slideCount: _this.props.children.length\n }));\n\n _this.props.children.forEach(function (child) {\n childrenWidths.push(child.props.style.width);\n _trackWidth += child.props.style.width;\n });\n\n for (var i = 0; i < preClones; i++) {\n _trackLeft += childrenWidths[childrenWidths.length - 1 - i];\n _trackWidth += childrenWidths[childrenWidths.length - 1 - i];\n }\n\n for (var _i2 = 0; _i2 < postClones; _i2++) {\n _trackWidth += childrenWidths[_i2];\n }\n\n for (var _i3 = 0; _i3 < _this.state.currentSlide; _i3++) {\n _trackLeft += childrenWidths[_i3];\n }\n\n var _trackStyle = {\n width: _trackWidth + \"px\",\n left: -_trackLeft + \"px\"\n };\n\n if (_this.props.centerMode) {\n var currentWidth = \"\".concat(childrenWidths[_this.state.currentSlide], \"px\");\n _trackStyle.left = \"calc(\".concat(_trackStyle.left, \" + (100% - \").concat(currentWidth, \") / 2 ) \");\n }\n\n _this.setState({\n trackStyle: _trackStyle\n });\n\n return;\n }\n\n var childrenCount = _react[\"default\"].Children.count(_this.props.children);\n\n var spec = _objectSpread({}, _this.props, {}, _this.state, {\n slideCount: childrenCount\n });\n\n var slideCount = (0, _innerSliderUtils.getPreClones)(spec) + (0, _innerSliderUtils.getPostClones)(spec) + childrenCount;\n var trackWidth = 100 / _this.props.slidesToShow * slideCount;\n var slideWidth = 100 / slideCount;\n var trackLeft = -slideWidth * ((0, _innerSliderUtils.getPreClones)(spec) + _this.state.currentSlide) * trackWidth / 100;\n\n if (_this.props.centerMode) {\n trackLeft += (100 - slideWidth * trackWidth / 100) / 2;\n }\n\n var trackStyle = {\n width: trackWidth + \"%\",\n left: trackLeft + \"%\"\n };\n\n _this.setState({\n slideWidth: slideWidth + \"%\",\n trackStyle: trackStyle\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"checkImagesLoad\", function () {\n var images = _this.list.querySelectorAll(\".slick-slide img\");\n\n var imagesCount = images.length,\n loadedCount = 0;\n Array.prototype.forEach.call(images, function (image) {\n var handler = function handler() {\n return ++loadedCount && loadedCount >= imagesCount && _this.onWindowResized();\n };\n\n if (!image.onclick) {\n image.onclick = function () {\n return image.parentNode.focus();\n };\n } else {\n var prevClickHandler = image.onclick;\n\n image.onclick = function () {\n prevClickHandler();\n image.parentNode.focus();\n };\n }\n\n if (!image.onload) {\n if (_this.props.lazyLoad) {\n image.onload = function () {\n _this.adaptHeight();\n\n _this.callbackTimers.push(setTimeout(_this.onWindowResized, _this.props.speed));\n };\n } else {\n image.onload = handler;\n\n image.onerror = function () {\n handler();\n _this.props.onLazyLoadError && _this.props.onLazyLoadError();\n };\n }\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"progressiveLazyLoad\", function () {\n var slidesToLoad = [];\n\n var spec = _objectSpread({}, _this.props, {}, _this.state);\n\n for (var index = _this.state.currentSlide; index < _this.state.slideCount + (0, _innerSliderUtils.getPostClones)(spec); index++) {\n if (_this.state.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n\n for (var _index = _this.state.currentSlide - 1; _index >= -(0, _innerSliderUtils.getPreClones)(spec); _index--) {\n if (_this.state.lazyLoadedList.indexOf(_index) < 0) {\n slidesToLoad.push(_index);\n break;\n }\n }\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (state) {\n return {\n lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n } else {\n if (_this.lazyLoadTimer) {\n clearInterval(_this.lazyLoadTimer);\n delete _this.lazyLoadTimer;\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slideHandler\", function (index) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var _this$props = _this.props,\n asNavFor = _this$props.asNavFor,\n beforeChange = _this$props.beforeChange,\n onLazyLoad = _this$props.onLazyLoad,\n speed = _this$props.speed,\n afterChange = _this$props.afterChange; // capture currentslide before state is updated\n\n var currentSlide = _this.state.currentSlide;\n\n var _slideHandler = (0, _innerSliderUtils.slideHandler)(_objectSpread({\n index: index\n }, _this.props, {}, _this.state, {\n trackRef: _this.track,\n useCSS: _this.props.useCSS && !dontAnimate\n })),\n state = _slideHandler.state,\n nextState = _slideHandler.nextState;\n\n if (!state) return;\n beforeChange && beforeChange(currentSlide, state.currentSlide);\n var slidesToLoad = state.lazyLoadedList.filter(function (value) {\n return _this.state.lazyLoadedList.indexOf(value) < 0;\n });\n onLazyLoad && slidesToLoad.length > 0 && onLazyLoad(slidesToLoad);\n\n _this.setState(state, function () {\n asNavFor && asNavFor.innerSlider.slideHandler(index);\n if (!nextState) return;\n _this.animationEndCallback = setTimeout(function () {\n var animating = nextState.animating,\n firstBatch = _objectWithoutProperties(nextState, [\"animating\"]);\n\n _this.setState(firstBatch, function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.setState({\n animating: animating\n });\n }, 10));\n\n afterChange && afterChange(state.currentSlide);\n delete _this.animationEndCallback;\n });\n }, speed);\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"changeSlide\", function (options) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var spec = _objectSpread({}, _this.props, {}, _this.state);\n\n var targetSlide = (0, _innerSliderUtils.changeSlide)(spec, options);\n if (targetSlide !== 0 && !targetSlide) return;\n\n if (dontAnimate === true) {\n _this.slideHandler(targetSlide, dontAnimate);\n } else {\n _this.slideHandler(targetSlide);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"clickHandler\", function (e) {\n if (_this.clickable === false) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n _this.clickable = true;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"keyHandler\", function (e) {\n var dir = (0, _innerSliderUtils.keyHandler)(e, _this.props.accessibility, _this.props.rtl);\n dir !== \"\" && _this.changeSlide({\n message: dir\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"selectHandler\", function (options) {\n _this.changeSlide(options);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"disableBodyScroll\", function () {\n var preventDefault = function preventDefault(e) {\n e = e || window.event;\n if (e.preventDefault) e.preventDefault();\n e.returnValue = false;\n };\n\n window.ontouchmove = preventDefault;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"enableBodyScroll\", function () {\n window.ontouchmove = null;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"swipeStart\", function (e) {\n if (_this.props.verticalSwiping) {\n _this.disableBodyScroll();\n }\n\n var state = (0, _innerSliderUtils.swipeStart)(e, _this.props.swipe, _this.props.draggable);\n state !== \"\" && _this.setState(state);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"swipeMove\", function (e) {\n var state = (0, _innerSliderUtils.swipeMove)(e, _objectSpread({}, _this.props, {}, _this.state, {\n trackRef: _this.track,\n listRef: _this.list,\n slideIndex: _this.state.currentSlide\n }));\n if (!state) return;\n\n if (state[\"swiping\"]) {\n _this.clickable = false;\n }\n\n _this.setState(state);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"swipeEnd\", function (e) {\n var state = (0, _innerSliderUtils.swipeEnd)(e, _objectSpread({}, _this.props, {}, _this.state, {\n trackRef: _this.track,\n listRef: _this.list,\n slideIndex: _this.state.currentSlide\n }));\n if (!state) return;\n var triggerSlideHandler = state[\"triggerSlideHandler\"];\n delete state[\"triggerSlideHandler\"];\n\n _this.setState(state);\n\n if (triggerSlideHandler === undefined) return;\n\n _this.slideHandler(triggerSlideHandler);\n\n if (_this.props.verticalSwiping) {\n _this.enableBodyScroll();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPrev\", function () {\n // this and fellow methods are wrapped in setTimeout\n // to make sure initialize setState has happened before\n // any of such methods are called\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"previous\"\n });\n }, 0));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"next\"\n });\n }, 0));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickGoTo\", function (slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n slide = Number(slide);\n if (isNaN(slide)) return \"\";\n\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"index\",\n index: slide,\n currentSlide: _this.state.currentSlide\n }, dontAnimate);\n }, 0));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"play\", function () {\n var nextIndex;\n\n if (_this.props.rtl) {\n nextIndex = _this.state.currentSlide - _this.props.slidesToScroll;\n } else {\n if ((0, _innerSliderUtils.canGoNext)(_objectSpread({}, _this.props, {}, _this.state))) {\n nextIndex = _this.state.currentSlide + _this.props.slidesToScroll;\n } else {\n return false;\n }\n }\n\n _this.slideHandler(nextIndex);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"autoPlay\", function (playType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n\n var autoplaying = _this.state.autoplaying;\n\n if (playType === \"update\") {\n if (autoplaying === \"hovered\" || autoplaying === \"focused\" || autoplaying === \"paused\") {\n return;\n }\n } else if (playType === \"leave\") {\n if (autoplaying === \"paused\" || autoplaying === \"focused\") {\n return;\n }\n } else if (playType === \"blur\") {\n if (autoplaying === \"paused\" || autoplaying === \"hovered\") {\n return;\n }\n }\n\n _this.autoplayTimer = setInterval(_this.play, _this.props.autoplaySpeed + 50);\n\n _this.setState({\n autoplaying: \"playing\"\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"pause\", function (pauseType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n _this.autoplayTimer = null;\n }\n\n var autoplaying = _this.state.autoplaying;\n\n if (pauseType === \"paused\") {\n _this.setState({\n autoplaying: \"paused\"\n });\n } else if (pauseType === \"focused\") {\n if (autoplaying === \"hovered\" || autoplaying === \"playing\") {\n _this.setState({\n autoplaying: \"focused\"\n });\n }\n } else {\n // pauseType is 'hovered'\n if (autoplaying === \"playing\") {\n _this.setState({\n autoplaying: \"hovered\"\n });\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDotsOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDotsLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onTrackOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onTrackLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSlideFocus\", function () {\n return _this.props.autoplay && _this.pause(\"focused\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSlideBlur\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"focused\" && _this.autoPlay(\"blur\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"render\", function () {\n var className = (0, _classnames[\"default\"])(\"slick-slider\", _this.props.className, {\n \"slick-vertical\": _this.props.vertical,\n \"slick-initialized\": true\n });\n\n var spec = _objectSpread({}, _this.props, {}, _this.state);\n\n var trackProps = (0, _innerSliderUtils.extractObject)(spec, [\"fade\", \"cssEase\", \"speed\", \"infinite\", \"centerMode\", \"focusOnSelect\", \"currentSlide\", \"lazyLoad\", \"lazyLoadedList\", \"rtl\", \"slideWidth\", \"slideHeight\", \"listHeight\", \"vertical\", \"slidesToShow\", \"slidesToScroll\", \"slideCount\", \"trackStyle\", \"variableWidth\", \"unslick\", \"centerPadding\"]);\n var pauseOnHover = _this.props.pauseOnHover;\n trackProps = _objectSpread({}, trackProps, {\n onMouseEnter: pauseOnHover ? _this.onTrackOver : null,\n onMouseLeave: pauseOnHover ? _this.onTrackLeave : null,\n onMouseOver: pauseOnHover ? _this.onTrackOver : null,\n focusOnSelect: _this.props.focusOnSelect ? _this.selectHandler : null\n });\n var dots;\n\n if (_this.props.dots === true && _this.state.slideCount >= _this.props.slidesToShow) {\n var dotProps = (0, _innerSliderUtils.extractObject)(spec, [\"dotsClass\", \"slideCount\", \"slidesToShow\", \"currentSlide\", \"slidesToScroll\", \"clickHandler\", \"children\", \"customPaging\", \"infinite\", \"appendDots\"]);\n var pauseOnDotsHover = _this.props.pauseOnDotsHover;\n dotProps = _objectSpread({}, dotProps, {\n clickHandler: _this.changeSlide,\n onMouseEnter: pauseOnDotsHover ? _this.onDotsLeave : null,\n onMouseOver: pauseOnDotsHover ? _this.onDotsOver : null,\n onMouseLeave: pauseOnDotsHover ? _this.onDotsLeave : null\n });\n dots = _react[\"default\"].createElement(_dots.Dots, dotProps);\n }\n\n var prevArrow, nextArrow;\n var arrowProps = (0, _innerSliderUtils.extractObject)(spec, [\"infinite\", \"centerMode\", \"currentSlide\", \"slideCount\", \"slidesToShow\", \"prevArrow\", \"nextArrow\"]);\n arrowProps.clickHandler = _this.changeSlide;\n\n if (_this.props.arrows) {\n prevArrow = _react[\"default\"].createElement(_arrows.PrevArrow, arrowProps);\n nextArrow = _react[\"default\"].createElement(_arrows.NextArrow, arrowProps);\n }\n\n var verticalHeightStyle = null;\n\n if (_this.props.vertical) {\n verticalHeightStyle = {\n height: _this.state.listHeight\n };\n }\n\n var centerPaddingStyle = null;\n\n if (_this.props.vertical === false) {\n if (_this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: \"0px \" + _this.props.centerPadding\n };\n }\n } else {\n if (_this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: _this.props.centerPadding + \" 0px\"\n };\n }\n }\n\n var listStyle = _objectSpread({}, verticalHeightStyle, {}, centerPaddingStyle);\n\n var touchMove = _this.props.touchMove;\n var listProps = {\n className: \"slick-list\",\n style: listStyle,\n onClick: _this.clickHandler,\n onMouseDown: touchMove ? _this.swipeStart : null,\n onMouseMove: _this.state.dragging && touchMove ? _this.swipeMove : null,\n onMouseUp: touchMove ? _this.swipeEnd : null,\n onMouseLeave: _this.state.dragging && touchMove ? _this.swipeEnd : null,\n onTouchStart: touchMove ? _this.swipeStart : null,\n onTouchMove: _this.state.dragging && touchMove ? _this.swipeMove : null,\n onTouchEnd: touchMove ? _this.swipeEnd : null,\n onTouchCancel: _this.state.dragging && touchMove ? _this.swipeEnd : null,\n onKeyDown: _this.props.accessibility ? _this.keyHandler : null\n };\n var innerSliderProps = {\n className: className,\n dir: \"ltr\",\n style: _this.props.style\n };\n\n if (_this.props.unslick) {\n listProps = {\n className: \"slick-list\"\n };\n innerSliderProps = {\n className: className\n };\n }\n\n return _react[\"default\"].createElement(\"div\", innerSliderProps, !_this.props.unslick ? prevArrow : \"\", _react[\"default\"].createElement(\"div\", _extends({\n ref: _this.listRefHandler\n }, listProps), _react[\"default\"].createElement(_track.Track, _extends({\n ref: _this.trackRefHandler\n }, trackProps), _this.props.children)), !_this.props.unslick ? nextArrow : \"\", !_this.props.unslick ? dots : \"\");\n });\n\n _this.list = null;\n _this.track = null;\n _this.state = _objectSpread({}, _initialState[\"default\"], {\n currentSlide: _this.props.initialSlide,\n slideCount: _react[\"default\"].Children.count(_this.props.children)\n });\n _this.callbackTimers = [];\n _this.clickable = true;\n _this.debouncedResize = null;\n return _this;\n }\n\n return InnerSlider;\n}(_react[\"default\"].Component);\n\nexports.InnerSlider = InnerSlider;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar initialState = {\n animating: false,\n autoplaying: null,\n currentDirection: 0,\n currentLeft: null,\n currentSlide: 0,\n direction: 1,\n dragging: false,\n edgeDragged: false,\n initialized: false,\n lazyLoadedList: [],\n listHeight: null,\n listWidth: null,\n scrolling: false,\n slideCount: null,\n slideHeight: null,\n slideWidth: null,\n swipeLeft: null,\n swiped: false,\n // used by swipeEvent. differentites between touch and swipe.\n swiping: false,\n touchObject: {\n startX: 0,\n startY: 0,\n curX: 0,\n curY: 0\n },\n trackStyle: {},\n trackWidth: 0\n};\nvar _default = initialState;\nexports[\"default\"] = _default;","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Track = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// given specifications/props for a slide, fetch all the classes that need to be applied to the slide\nvar getSlideClasses = function getSlideClasses(spec) {\n var slickActive, slickCenter, slickCloned;\n var centerOffset, index;\n\n if (spec.rtl) {\n index = spec.slideCount - 1 - spec.index;\n } else {\n index = spec.index;\n }\n\n slickCloned = index < 0 || index >= spec.slideCount;\n\n if (spec.centerMode) {\n centerOffset = Math.floor(spec.slidesToShow / 2);\n slickCenter = (index - spec.currentSlide) % spec.slideCount === 0;\n\n if (index > spec.currentSlide - centerOffset - 1 && index <= spec.currentSlide + centerOffset) {\n slickActive = true;\n }\n } else {\n slickActive = spec.currentSlide <= index && index < spec.currentSlide + spec.slidesToShow;\n }\n\n var slickCurrent = index === spec.currentSlide;\n return {\n \"slick-slide\": true,\n \"slick-active\": slickActive,\n \"slick-center\": slickCenter,\n \"slick-cloned\": slickCloned,\n \"slick-current\": slickCurrent // dubious in case of RTL\n\n };\n};\n\nvar getSlideStyle = function getSlideStyle(spec) {\n var style = {};\n\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth;\n }\n\n if (spec.fade) {\n style.position = \"relative\";\n\n if (spec.vertical) {\n style.top = -spec.index * parseInt(spec.slideHeight);\n } else {\n style.left = -spec.index * parseInt(spec.slideWidth);\n }\n\n style.opacity = spec.currentSlide === spec.index ? 1 : 0;\n style.transition = \"opacity \" + spec.speed + \"ms \" + spec.cssEase + \", \" + \"visibility \" + spec.speed + \"ms \" + spec.cssEase;\n }\n\n return style;\n};\n\nvar getKey = function getKey(child, fallbackKey) {\n return child.key || fallbackKey;\n};\n\nvar renderSlides = function renderSlides(spec) {\n var key;\n var slides = [];\n var preCloneSlides = [];\n var postCloneSlides = [];\n\n var childrenCount = _react[\"default\"].Children.count(spec.children);\n\n var startIndex = (0, _innerSliderUtils.lazyStartIndex)(spec);\n var endIndex = (0, _innerSliderUtils.lazyEndIndex)(spec);\n\n _react[\"default\"].Children.forEach(spec.children, function (elem, index) {\n var child;\n var childOnClickOptions = {\n message: \"children\",\n index: index,\n slidesToScroll: spec.slidesToScroll,\n currentSlide: spec.currentSlide\n }; // in case of lazyLoad, whether or not we want to fetch the slide\n\n if (!spec.lazyLoad || spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0) {\n child = elem;\n } else {\n child = _react[\"default\"].createElement(\"div\", null);\n }\n\n var childStyle = getSlideStyle(_objectSpread({}, spec, {\n index: index\n }));\n var slideClass = child.props.className || \"\";\n var slideClasses = getSlideClasses(_objectSpread({}, spec, {\n index: index\n })); // push a cloned element of the desired slide\n\n slides.push(_react[\"default\"].cloneElement(child, {\n key: \"original\" + getKey(child, index),\n \"data-index\": index,\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n tabIndex: \"-1\",\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread({\n outline: \"none\"\n }, child.props.style || {}, {}, childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })); // if slide needs to be precloned or postcloned\n\n if (spec.infinite && spec.fade === false) {\n var preCloneNo = childrenCount - index;\n\n if (preCloneNo <= (0, _innerSliderUtils.getPreClones)(spec) && childrenCount !== spec.slidesToShow) {\n key = -preCloneNo;\n\n if (key >= startIndex) {\n child = elem;\n }\n\n slideClasses = getSlideClasses(_objectSpread({}, spec, {\n index: key\n }));\n preCloneSlides.push(_react[\"default\"].cloneElement(child, {\n key: \"precloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread({}, child.props.style || {}, {}, childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n }\n\n if (childrenCount !== spec.slidesToShow) {\n key = childrenCount + index;\n\n if (key < endIndex) {\n child = elem;\n }\n\n slideClasses = getSlideClasses(_objectSpread({}, spec, {\n index: key\n }));\n postCloneSlides.push(_react[\"default\"].cloneElement(child, {\n key: \"postcloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread({}, child.props.style || {}, {}, childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n }\n }\n });\n\n if (spec.rtl) {\n return preCloneSlides.concat(slides, postCloneSlides).reverse();\n } else {\n return preCloneSlides.concat(slides, postCloneSlides);\n }\n};\n\nvar Track =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(Track, _React$PureComponent);\n\n function Track() {\n _classCallCheck(this, Track);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Track).apply(this, arguments));\n }\n\n _createClass(Track, [{\n key: \"render\",\n value: function render() {\n var slides = renderSlides(this.props);\n var _this$props = this.props,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseOver = _this$props.onMouseOver,\n onMouseLeave = _this$props.onMouseLeave;\n var mouseEvents = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave\n };\n return _react[\"default\"].createElement(\"div\", _extends({\n className: \"slick-track\",\n style: this.props.trackStyle\n }, mouseEvents), slides);\n }\n }]);\n\n return Track;\n}(_react[\"default\"].PureComponent);\n\nexports.Track = Track;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Dots = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar getDotCount = function getDotCount(spec) {\n var dots;\n\n if (spec.infinite) {\n dots = Math.ceil(spec.slideCount / spec.slidesToScroll);\n } else {\n dots = Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) + 1;\n }\n\n return dots;\n};\n\nvar Dots =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(Dots, _React$PureComponent);\n\n function Dots() {\n _classCallCheck(this, Dots);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Dots).apply(this, arguments));\n }\n\n _createClass(Dots, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n // In Autoplay the focus stays on clicked button even after transition\n // to next slide. That only goes away by click somewhere outside\n e.preventDefault();\n this.props.clickHandler(options);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this = this;\n\n var dotCount = getDotCount({\n slideCount: this.props.slideCount,\n slidesToScroll: this.props.slidesToScroll,\n slidesToShow: this.props.slidesToShow,\n infinite: this.props.infinite\n }); // Apply join & split to Array to pre-fill it for IE8\n //\n // Credit: http://stackoverflow.com/a/13735425/1849458\n\n var _this$props = this.props,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseOver = _this$props.onMouseOver,\n onMouseLeave = _this$props.onMouseLeave;\n var mouseEvents = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave\n };\n var dots = Array.apply(null, Array(dotCount + 1).join(\"0\").split(\"\")).map(function (x, i) {\n var leftBound = i * _this.props.slidesToScroll;\n var rightBound = i * _this.props.slidesToScroll + (_this.props.slidesToScroll - 1);\n var className = (0, _classnames[\"default\"])({\n \"slick-active\": _this.props.currentSlide >= leftBound && _this.props.currentSlide <= rightBound\n });\n var dotOptions = {\n message: \"dots\",\n index: i,\n slidesToScroll: _this.props.slidesToScroll,\n currentSlide: _this.props.currentSlide\n };\n\n var onClick = _this.clickHandler.bind(_this, dotOptions);\n\n return _react[\"default\"].createElement(\"li\", {\n key: i,\n className: className\n }, _react[\"default\"].cloneElement(_this.props.customPaging(i), {\n onClick: onClick\n }));\n });\n return _react[\"default\"].cloneElement(this.props.appendDots(dots), _objectSpread({\n className: this.props.dotsClass\n }, mouseEvents));\n }\n }]);\n\n return Dots;\n}(_react[\"default\"].PureComponent);\n\nexports.Dots = Dots;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NextArrow = exports.PrevArrow = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar PrevArrow =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(PrevArrow, _React$PureComponent);\n\n function PrevArrow() {\n _classCallCheck(this, PrevArrow);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(PrevArrow).apply(this, arguments));\n }\n\n _createClass(PrevArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n\n this.props.clickHandler(options, e);\n }\n }, {\n key: \"render\",\n value: function render() {\n var prevClasses = {\n \"slick-arrow\": true,\n \"slick-prev\": true\n };\n var prevHandler = this.clickHandler.bind(this, {\n message: \"previous\"\n });\n\n if (!this.props.infinite && (this.props.currentSlide === 0 || this.props.slideCount <= this.props.slidesToShow)) {\n prevClasses[\"slick-disabled\"] = true;\n prevHandler = null;\n }\n\n var prevArrowProps = {\n key: \"0\",\n \"data-role\": \"none\",\n className: (0, _classnames[\"default\"])(prevClasses),\n style: {\n display: \"block\"\n },\n onClick: prevHandler\n };\n var customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n var prevArrow;\n\n if (this.props.prevArrow) {\n prevArrow = _react[\"default\"].cloneElement(this.props.prevArrow, _objectSpread({}, prevArrowProps, {}, customProps));\n } else {\n prevArrow = _react[\"default\"].createElement(\"button\", _extends({\n key: \"0\",\n type: \"button\"\n }, prevArrowProps), \" \", \"Previous\");\n }\n\n return prevArrow;\n }\n }]);\n\n return PrevArrow;\n}(_react[\"default\"].PureComponent);\n\nexports.PrevArrow = PrevArrow;\n\nvar NextArrow =\n/*#__PURE__*/\nfunction (_React$PureComponent2) {\n _inherits(NextArrow, _React$PureComponent2);\n\n function NextArrow() {\n _classCallCheck(this, NextArrow);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(NextArrow).apply(this, arguments));\n }\n\n _createClass(NextArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n\n this.props.clickHandler(options, e);\n }\n }, {\n key: \"render\",\n value: function render() {\n var nextClasses = {\n \"slick-arrow\": true,\n \"slick-next\": true\n };\n var nextHandler = this.clickHandler.bind(this, {\n message: \"next\"\n });\n\n if (!(0, _innerSliderUtils.canGoNext)(this.props)) {\n nextClasses[\"slick-disabled\"] = true;\n nextHandler = null;\n }\n\n var nextArrowProps = {\n key: \"1\",\n \"data-role\": \"none\",\n className: (0, _classnames[\"default\"])(nextClasses),\n style: {\n display: \"block\"\n },\n onClick: nextHandler\n };\n var customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n var nextArrow;\n\n if (this.props.nextArrow) {\n nextArrow = _react[\"default\"].cloneElement(this.props.nextArrow, _objectSpread({}, nextArrowProps, {}, customProps));\n } else {\n nextArrow = _react[\"default\"].createElement(\"button\", _extends({\n key: \"1\",\n type: \"button\"\n }, nextArrowProps), \" \", \"Next\");\n }\n\n return nextArrow;\n }\n }]);\n\n return NextArrow;\n}(_react[\"default\"].PureComponent);\n\nexports.NextArrow = NextArrow;","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","var camel2hyphen = require('string-convert/camel2hyphen');\n\nvar isDimension = function (feature) {\n var re = /[height|width]$/;\n return re.test(feature);\n};\n\nvar obj2mq = function (obj) {\n var mq = '';\n var features = Object.keys(obj);\n features.forEach(function (feature, index) {\n var value = obj[feature];\n feature = camel2hyphen(feature);\n // Add px to dimension features\n if (isDimension(feature) && typeof value === 'number') {\n value = value + 'px';\n }\n if (value === true) {\n mq += feature;\n } else if (value === false) {\n mq += 'not ' + feature;\n } else {\n mq += '(' + feature + ': ' + value + ')';\n }\n if (index < features.length-1) {\n mq += ' and '\n }\n });\n return mq;\n};\n\nvar json2mq = function (query) {\n var mq = '';\n if (typeof query === 'string') {\n return query;\n }\n // Handling array of media queries\n if (query instanceof Array) {\n query.forEach(function (q, index) {\n mq += obj2mq(q);\n if (index < query.length-1) {\n mq += ', '\n }\n });\n return mq;\n }\n // Handling single media query\n return obj2mq(query);\n};\n\nmodule.exports = json2mq;","var camel2hyphen = function (str) {\n return str\n .replace(/[A-Z]/g, function (match) {\n return '-' + match.toLowerCase();\n })\n .toLowerCase();\n};\n\nmodule.exports = camel2hyphen;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar defaultProps = {\n accessibility: true,\n adaptiveHeight: false,\n afterChange: null,\n appendDots: function appendDots(dots) {\n return _react[\"default\"].createElement(\"ul\", {\n style: {\n display: \"block\"\n }\n }, dots);\n },\n arrows: true,\n autoplay: false,\n autoplaySpeed: 3000,\n beforeChange: null,\n centerMode: false,\n centerPadding: \"50px\",\n className: \"\",\n cssEase: \"ease\",\n customPaging: function customPaging(i) {\n return _react[\"default\"].createElement(\"button\", null, i + 1);\n },\n dots: false,\n dotsClass: \"slick-dots\",\n draggable: true,\n easing: \"linear\",\n edgeFriction: 0.35,\n fade: false,\n focusOnSelect: false,\n infinite: true,\n initialSlide: 0,\n lazyLoad: null,\n nextArrow: null,\n onEdge: null,\n onInit: null,\n onLazyLoadError: null,\n onReInit: null,\n pauseOnDotsHover: false,\n pauseOnFocus: false,\n pauseOnHover: true,\n prevArrow: null,\n responsive: null,\n rows: 1,\n rtl: false,\n slide: \"div\",\n slidesPerRow: 1,\n slidesToScroll: 1,\n slidesToShow: 1,\n speed: 500,\n swipe: true,\n swipeEvent: null,\n swipeToSlide: false,\n touchMove: true,\n touchThreshold: 5,\n useCSS: true,\n useTransform: true,\n variableWidth: false,\n vertical: false,\n waitForAnimate: true\n};\nvar _default = defaultProps;\nexports[\"default\"] = _default;","var MediaQueryDispatch = require('./MediaQueryDispatch');\nmodule.exports = new MediaQueryDispatch();\n","var MediaQuery = require('./MediaQuery');\nvar Util = require('./Util');\nvar each = Util.each;\nvar isFunction = Util.isFunction;\nvar isArray = Util.isArray;\n\n/**\n * Allows for registration of query handlers.\n * Manages the query handler's state and is responsible for wiring up browser events\n *\n * @constructor\n */\nfunction MediaQueryDispatch () {\n if(!window.matchMedia) {\n throw new Error('matchMedia not present, legacy browsers require a polyfill');\n }\n\n this.queries = {};\n this.browserIsIncapable = !window.matchMedia('only all').matches;\n}\n\nMediaQueryDispatch.prototype = {\n\n constructor : MediaQueryDispatch,\n\n /**\n * Registers a handler for the given media query\n *\n * @param {string} q the media query\n * @param {object || Array || Function} options either a single query handler object, a function, or an array of query handlers\n * @param {function} options.match fired when query matched\n * @param {function} [options.unmatch] fired when a query is no longer matched\n * @param {function} [options.setup] fired when handler first triggered\n * @param {boolean} [options.deferSetup=false] whether setup should be run immediately or deferred until query is first matched\n * @param {boolean} [shouldDegrade=false] whether this particular media query should always run on incapable browsers\n */\n register : function(q, options, shouldDegrade) {\n var queries = this.queries,\n isUnconditional = shouldDegrade && this.browserIsIncapable;\n\n if(!queries[q]) {\n queries[q] = new MediaQuery(q, isUnconditional);\n }\n\n //normalise to object in an array\n if(isFunction(options)) {\n options = { match : options };\n }\n if(!isArray(options)) {\n options = [options];\n }\n each(options, function(handler) {\n if (isFunction(handler)) {\n handler = { match : handler };\n }\n queries[q].addHandler(handler);\n });\n\n return this;\n },\n\n /**\n * unregisters a query and all it's handlers, or a specific handler for a query\n *\n * @param {string} q the media query to target\n * @param {object || function} [handler] specific handler to unregister\n */\n unregister : function(q, handler) {\n var query = this.queries[q];\n\n if(query) {\n if(handler) {\n query.removeHandler(handler);\n }\n else {\n query.clear();\n delete this.queries[q];\n }\n }\n\n return this;\n }\n};\n\nmodule.exports = MediaQueryDispatch;\n","var QueryHandler = require('./QueryHandler');\nvar each = require('./Util').each;\n\n/**\n * Represents a single media query, manages it's state and registered handlers for this query\n *\n * @constructor\n * @param {string} query the media query string\n * @param {boolean} [isUnconditional=false] whether the media query should run regardless of whether the conditions are met. Primarily for helping older browsers deal with mobile-first design\n */\nfunction MediaQuery(query, isUnconditional) {\n this.query = query;\n this.isUnconditional = isUnconditional;\n this.handlers = [];\n this.mql = window.matchMedia(query);\n\n var self = this;\n this.listener = function(mql) {\n // Chrome passes an MediaQueryListEvent object, while other browsers pass MediaQueryList directly\n self.mql = mql.currentTarget || mql;\n self.assess();\n };\n this.mql.addListener(this.listener);\n}\n\nMediaQuery.prototype = {\n\n constuctor : MediaQuery,\n\n /**\n * add a handler for this query, triggering if already active\n *\n * @param {object} handler\n * @param {function} handler.match callback for when query is activated\n * @param {function} [handler.unmatch] callback for when query is deactivated\n * @param {function} [handler.setup] callback for immediate execution when a query handler is registered\n * @param {boolean} [handler.deferSetup=false] should the setup callback be deferred until the first time the handler is matched?\n */\n addHandler : function(handler) {\n var qh = new QueryHandler(handler);\n this.handlers.push(qh);\n\n this.matches() && qh.on();\n },\n\n /**\n * removes the given handler from the collection, and calls it's destroy methods\n *\n * @param {object || function} handler the handler to remove\n */\n removeHandler : function(handler) {\n var handlers = this.handlers;\n each(handlers, function(h, i) {\n if(h.equals(handler)) {\n h.destroy();\n return !handlers.splice(i,1); //remove from array and exit each early\n }\n });\n },\n\n /**\n * Determine whether the media query should be considered a match\n *\n * @return {Boolean} true if media query can be considered a match, false otherwise\n */\n matches : function() {\n return this.mql.matches || this.isUnconditional;\n },\n\n /**\n * Clears all handlers and unbinds events\n */\n clear : function() {\n each(this.handlers, function(handler) {\n handler.destroy();\n });\n this.mql.removeListener(this.listener);\n this.handlers.length = 0; //clear array\n },\n\n /*\n * Assesses the query, turning on all handlers if it matches, turning them off if it doesn't match\n */\n assess : function() {\n var action = this.matches() ? 'on' : 'off';\n\n each(this.handlers, function(handler) {\n handler[action]();\n });\n }\n};\n\nmodule.exports = MediaQuery;\n","/**\n * Delegate to handle a media query being matched and unmatched.\n *\n * @param {object} options\n * @param {function} options.match callback for when the media query is matched\n * @param {function} [options.unmatch] callback for when the media query is unmatched\n * @param {function} [options.setup] one-time callback triggered the first time a query is matched\n * @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched?\n * @constructor\n */\nfunction QueryHandler(options) {\n this.options = options;\n !options.deferSetup && this.setup();\n}\n\nQueryHandler.prototype = {\n\n constructor : QueryHandler,\n\n /**\n * coordinates setup of the handler\n *\n * @function\n */\n setup : function() {\n if(this.options.setup) {\n this.options.setup();\n }\n this.initialised = true;\n },\n\n /**\n * coordinates setup and triggering of the handler\n *\n * @function\n */\n on : function() {\n !this.initialised && this.setup();\n this.options.match && this.options.match();\n },\n\n /**\n * coordinates the unmatch event for the handler\n *\n * @function\n */\n off : function() {\n this.options.unmatch && this.options.unmatch();\n },\n\n /**\n * called when a handler is to be destroyed.\n * delegates to the destroy or unmatch callbacks, depending on availability.\n *\n * @function\n */\n destroy : function() {\n this.options.destroy ? this.options.destroy() : this.off();\n },\n\n /**\n * determines equality by reference.\n * if object is supplied compare options, if function, compare match callback\n *\n * @function\n * @param {object || function} [target] the target for comparison\n */\n equals : function(target) {\n return this.options === target || this.options.match === target;\n }\n\n};\n\nmodule.exports = QueryHandler;\n","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\", \"react\", \"prop-types\", \"ansi-colors\", \"./loader\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require(\"react\"), require(\"prop-types\"), require(\"ansi-colors\"), require(\"./loader\"));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes, global.ansiColors, global.loader);\n global.index = mod.exports;\n }\n})(this, function (exports, _react, _propTypes, _ansiColors, _loader) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = Loader;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _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 var componentNames = [\"Audio\", \"BallTriangle\", \"Bars\", \"Circles\", \"Grid\", \"Hearts\", \"Oval\", \"Puff\", \"Rings\", \"TailSpin\", \"ThreeDots\", \"Watch\", \"RevolvingDot\", \"Triangle\", \"Plane\", \"MutatingDots\", \"CradleLoader\"];\n\n function componentName(type) {\n if (componentNames.includes(type)) {\n return _loader.Spinner[type];\n }\n return _loader.Spinner.Audio;\n }\n\n function Loader(props) {\n if (!props.visible || props.visible === \"false\") {\n return null;\n }\n return _react2.default.createElement(\n \"div\",\n { \"aria-busy\": \"true\", className: props.className, style: props.style },\n _react2.default.createElement(componentName(props.type), _extends({}, props))\n );\n }\n\n Loader.propTypes = {\n type: _propTypes2.default.oneOf([].concat(componentNames)),\n style: _propTypes2.default.objectOf(_propTypes2.default.string),\n className: _propTypes2.default.string,\n visible: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.string])\n };\n\n Loader.defaultProps = {\n type: \"Audio\",\n style: {},\n className: \"\",\n visible: true\n };\n});","'use strict';\n\nconst isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val);\n\n/* eslint-disable no-control-regex */\n// this is a modified version of https://github.com/chalk/ansi-regex (MIT License)\nconst ANSI_REGEX = /[\\u001b\\u009b][[\\]#;?()]*(?:(?:(?:[^\\W_]*;?[^\\W_]*)\\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g;\n\nconst hasColor = () => {\n if (typeof process !== 'undefined') {\n return process.env.FORCE_COLOR !== '0';\n }\n return false;\n};\n\nconst create = () => {\n const colors = {\n enabled: hasColor(),\n visible: true,\n styles: {},\n keys: {}\n };\n\n const ansi = style => {\n let open = style.open = `\\u001b[${style.codes[0]}m`;\n let close = style.close = `\\u001b[${style.codes[1]}m`;\n let regex = style.regex = new RegExp(`\\\\u001b\\\\[${style.codes[1]}m`, 'g');\n style.wrap = (input, newline) => {\n if (input.includes(close)) input = input.replace(regex, close + open);\n let output = open + input + close;\n // see https://github.com/chalk/chalk/pull/92, thanks to the\n // chalk contributors for this fix. However, we've confirmed that\n // this issue is also present in Windows terminals\n return newline ? output.replace(/\\r*\\n/g, `${close}$&${open}`) : output;\n };\n return style;\n };\n\n const wrap = (style, input, newline) => {\n return typeof style === 'function' ? style(input) : style.wrap(input, newline);\n };\n\n const style = (input, stack) => {\n if (input === '' || input == null) return '';\n if (colors.enabled === false) return input;\n if (colors.visible === false) return '';\n let str = '' + input;\n let nl = str.includes('\\n');\n let n = stack.length;\n if (n > 0 && stack.includes('unstyle')) {\n stack = [...new Set(['unstyle', ...stack])].reverse();\n }\n while (n-- > 0) str = wrap(colors.styles[stack[n]], str, nl);\n return str;\n };\n\n const define = (name, codes, type) => {\n colors.styles[name] = ansi({ name, codes });\n let keys = colors.keys[type] || (colors.keys[type] = []);\n keys.push(name);\n\n Reflect.defineProperty(colors, name, {\n configurable: true,\n enumerable: true,\n set(value) {\n colors.alias(name, value);\n },\n get() {\n let color = input => style(input, color.stack);\n Reflect.setPrototypeOf(color, colors);\n color.stack = this.stack ? this.stack.concat(name) : [name];\n return color;\n }\n });\n };\n\n define('reset', [0, 0], 'modifier');\n define('bold', [1, 22], 'modifier');\n define('dim', [2, 22], 'modifier');\n define('italic', [3, 23], 'modifier');\n define('underline', [4, 24], 'modifier');\n define('inverse', [7, 27], 'modifier');\n define('hidden', [8, 28], 'modifier');\n define('strikethrough', [9, 29], 'modifier');\n\n define('black', [30, 39], 'color');\n define('red', [31, 39], 'color');\n define('green', [32, 39], 'color');\n define('yellow', [33, 39], 'color');\n define('blue', [34, 39], 'color');\n define('magenta', [35, 39], 'color');\n define('cyan', [36, 39], 'color');\n define('white', [37, 39], 'color');\n define('gray', [90, 39], 'color');\n define('grey', [90, 39], 'color');\n\n define('bgBlack', [40, 49], 'bg');\n define('bgRed', [41, 49], 'bg');\n define('bgGreen', [42, 49], 'bg');\n define('bgYellow', [43, 49], 'bg');\n define('bgBlue', [44, 49], 'bg');\n define('bgMagenta', [45, 49], 'bg');\n define('bgCyan', [46, 49], 'bg');\n define('bgWhite', [47, 49], 'bg');\n\n define('blackBright', [90, 39], 'bright');\n define('redBright', [91, 39], 'bright');\n define('greenBright', [92, 39], 'bright');\n define('yellowBright', [93, 39], 'bright');\n define('blueBright', [94, 39], 'bright');\n define('magentaBright', [95, 39], 'bright');\n define('cyanBright', [96, 39], 'bright');\n define('whiteBright', [97, 39], 'bright');\n\n define('bgBlackBright', [100, 49], 'bgBright');\n define('bgRedBright', [101, 49], 'bgBright');\n define('bgGreenBright', [102, 49], 'bgBright');\n define('bgYellowBright', [103, 49], 'bgBright');\n define('bgBlueBright', [104, 49], 'bgBright');\n define('bgMagentaBright', [105, 49], 'bgBright');\n define('bgCyanBright', [106, 49], 'bgBright');\n define('bgWhiteBright', [107, 49], 'bgBright');\n\n colors.ansiRegex = ANSI_REGEX;\n colors.hasColor = colors.hasAnsi = str => {\n colors.ansiRegex.lastIndex = 0;\n return typeof str === 'string' && str !== '' && colors.ansiRegex.test(str);\n };\n\n colors.alias = (name, color) => {\n let fn = typeof color === 'string' ? colors[color] : color;\n\n if (typeof fn !== 'function') {\n throw new TypeError('Expected alias to be the name of an existing color (string) or a function');\n }\n\n if (!fn.stack) {\n Reflect.defineProperty(fn, 'name', { value: name });\n colors.styles[name] = fn;\n fn.stack = [name];\n }\n\n Reflect.defineProperty(colors, name, {\n configurable: true,\n enumerable: true,\n set(value) {\n colors.alias(name, value);\n },\n get() {\n let color = input => style(input, color.stack);\n Reflect.setPrototypeOf(color, colors);\n color.stack = this.stack ? this.stack.concat(fn.stack) : fn.stack;\n return color;\n }\n });\n };\n\n colors.theme = custom => {\n if (!isObject(custom)) throw new TypeError('Expected theme to be an object');\n for (let name of Object.keys(custom)) {\n colors.alias(name, custom[name]);\n }\n return colors;\n };\n\n colors.alias('unstyle', str => {\n if (typeof str === 'string' && str !== '') {\n colors.ansiRegex.lastIndex = 0;\n return str.replace(colors.ansiRegex, '');\n }\n return '';\n });\n\n colors.alias('noop', str => str);\n colors.none = colors.clear = colors.noop;\n\n colors.stripColor = colors.unstyle;\n colors.symbols = require('./symbols');\n colors.define = define;\n return colors;\n};\n\nmodule.exports = create();\nmodule.exports.create = create;\n","'use strict';\n\nconst isHyper = typeof process !== 'undefined' && process.env.TERM_PROGRAM === 'Hyper';\nconst isWindows = typeof process !== 'undefined' && process.platform === 'win32';\nconst isLinux = typeof process !== 'undefined' && process.platform === 'linux';\n\nconst common = {\n ballotDisabled: '☒',\n ballotOff: '☐',\n ballotOn: '☑',\n bullet: '•',\n bulletWhite: '◦',\n fullBlock: '█',\n heart: '❤',\n identicalTo: '≡',\n line: '─',\n mark: '※',\n middot: '·',\n minus: '-',\n multiplication: '×',\n obelus: '÷',\n pencilDownRight: '✎',\n pencilRight: '✏',\n pencilUpRight: '✐',\n percent: '%',\n pilcrow2: '❡',\n pilcrow: '¶',\n plusMinus: '±',\n question: '?',\n section: '§',\n starsOff: '☆',\n starsOn: '★',\n upDownArrow: '↕'\n};\n\nconst windows = Object.assign({}, common, {\n check: '√',\n cross: '×',\n ellipsisLarge: '...',\n ellipsis: '...',\n info: 'i',\n questionSmall: '?',\n pointer: '>',\n pointerSmall: '»',\n radioOff: '( )',\n radioOn: '(*)',\n warning: '‼'\n});\n\nconst other = Object.assign({}, common, {\n ballotCross: '✘',\n check: '✔',\n cross: '✖',\n ellipsisLarge: '⋯',\n ellipsis: '…',\n info: 'ℹ',\n questionFull: '?',\n questionSmall: '﹖',\n pointer: isLinux ? '▸' : '❯',\n pointerSmall: isLinux ? '‣' : '›',\n radioOff: '◯',\n radioOn: '◉',\n warning: '⚠'\n});\n\nmodule.exports = (isWindows && !isHyper) ? windows : other;\nReflect.defineProperty(module.exports, 'common', { enumerable: false, value: common });\nReflect.defineProperty(module.exports, 'windows', { enumerable: false, value: windows });\nReflect.defineProperty(module.exports, 'other', { enumerable: false, value: other });\n","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\", \"./Circles\", \"./Watch\", \"./Audio\", \"./BallTriangle\", \"./Bars\", \"./CradleLoader\", \"./Grid\", \"./Hearts\", \"./MutatingDots\", \"./Oval\", \"./Plane\", \"./Puff\", \"./RevolvingDot\", \"./Rings\", \"./TailSpin\", \"./ThreeDots\", \"./Triangle\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require(\"./Circles\"), require(\"./Watch\"), require(\"./Audio\"), require(\"./BallTriangle\"), require(\"./Bars\"), require(\"./CradleLoader\"), require(\"./Grid\"), require(\"./Hearts\"), require(\"./MutatingDots\"), require(\"./Oval\"), require(\"./Plane\"), require(\"./Puff\"), require(\"./RevolvingDot\"), require(\"./Rings\"), require(\"./TailSpin\"), require(\"./ThreeDots\"), require(\"./Triangle\"));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.Circles, global.Watch, global.Audio, global.BallTriangle, global.Bars, global.CradleLoader, global.Grid, global.Hearts, global.MutatingDots, global.Oval, global.Plane, global.Puff, global.RevolvingDot, global.Rings, global.TailSpin, global.ThreeDots, global.Triangle);\n global.index = mod.exports;\n }\n})(this, function (exports, _Circles, _Watch, _Audio, _BallTriangle, _Bars, _CradleLoader, _Grid, _Hearts, _MutatingDots, _Oval, _Plane, _Puff, _RevolvingDot, _Rings, _TailSpin, _ThreeDots, _Triangle) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Spinner = undefined;\n var Spinner = exports.Spinner = {\n Circles: _Circles.Circles,\n Audio: _Audio.Audio,\n BallTriangle: _BallTriangle.BallTriangle,\n Bars: _Bars.Bars,\n CradleLoader: _CradleLoader.CradleLoader,\n Grid: _Grid.Grid,\n Hearts: _Hearts.Hearts,\n MutatingDots: _MutatingDots.MutatingDots,\n Oval: _Oval.Oval,\n Plane: _Plane.Plane,\n Puff: _Puff.Puff,\n RevolvingDot: _RevolvingDot.RevolvingDot,\n Rings: _Rings.Rings,\n TailSpin: _TailSpin.TailSpin,\n ThreeDots: _ThreeDots.ThreeDots,\n Triangle: _Triangle.Triangle,\n Watch: _Watch.Watch\n };\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\", \"react\", \"prop-types\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require(\"react\"), require(\"prop-types\"));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes);\n global.Circles = mod.exports;\n }\n})(this, function (exports, _react, _propTypes) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Circles = undefined;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var Circles = exports.Circles = function Circles(props) {\n return _react2.default.createElement(\n \"svg\",\n {\n width: props.width,\n height: props.height,\n viewBox: \"0 0 135 135\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: props.color,\n \"aria-label\": props.label\n },\n _react2.default.createElement(\n \"path\",\n { d: \"M67.447 58c5.523 0 10-4.477 10-10s-4.477-10-10-10-10 4.477-10 10 4.477 10 10 10zm9.448 9.447c0 5.523 4.477 10 10 10 5.522 0 10-4.477 10-10s-4.478-10-10-10c-5.523 0-10 4.477-10 10zm-9.448 9.448c-5.523 0-10 4.477-10 10 0 5.522 4.477 10 10 10s10-4.478 10-10c0-5.523-4.477-10-10-10zM58 67.447c0-5.523-4.477-10-10-10s-10 4.477-10 10 4.477 10 10 10 10-4.477 10-10z\" },\n _react2.default.createElement(\"animateTransform\", {\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 67 67\",\n to: \"-360 67 67\",\n dur: \"2.5s\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"path\",\n { d: \"M28.19 40.31c6.627 0 12-5.374 12-12 0-6.628-5.373-12-12-12-6.628 0-12 5.372-12 12 0 6.626 5.372 12 12 12zm30.72-19.825c4.686 4.687 12.284 4.687 16.97 0 4.686-4.686 4.686-12.284 0-16.97-4.686-4.687-12.284-4.687-16.97 0-4.687 4.686-4.687 12.284 0 16.97zm35.74 7.705c0 6.627 5.37 12 12 12 6.626 0 12-5.373 12-12 0-6.628-5.374-12-12-12-6.63 0-12 5.372-12 12zm19.822 30.72c-4.686 4.686-4.686 12.284 0 16.97 4.687 4.686 12.285 4.686 16.97 0 4.687-4.686 4.687-12.284 0-16.97-4.685-4.687-12.283-4.687-16.97 0zm-7.704 35.74c-6.627 0-12 5.37-12 12 0 6.626 5.373 12 12 12s12-5.374 12-12c0-6.63-5.373-12-12-12zm-30.72 19.822c-4.686-4.686-12.284-4.686-16.97 0-4.686 4.687-4.686 12.285 0 16.97 4.686 4.687 12.284 4.687 16.97 0 4.687-4.685 4.687-12.283 0-16.97zm-35.74-7.704c0-6.627-5.372-12-12-12-6.626 0-12 5.373-12 12s5.374 12 12 12c6.628 0 12-5.373 12-12zm-19.823-30.72c4.687-4.686 4.687-12.284 0-16.97-4.686-4.686-12.284-4.686-16.97 0-4.687 4.686-4.687 12.284 0 16.97 4.686 4.687 12.284 4.687 16.97 0z\" },\n _react2.default.createElement(\"animateTransform\", {\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 67 67\",\n to: \"360 67 67\",\n dur: \"8s\",\n repeatCount: \"indefinite\"\n })\n )\n );\n };\n\n Circles.propTypes = {\n height: _propTypes2.default.number,\n width: _propTypes2.default.number,\n color: _propTypes2.default.string,\n label: _propTypes2.default.string\n };\n\n Circles.defaultProps = {\n height: 80,\n width: 80,\n color: \"green\",\n label: \"audio-loading\"\n };\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\", \"react\", \"prop-types\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require(\"react\"), require(\"prop-types\"));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes);\n global.Watch = mod.exports;\n }\n})(this, function (exports, _react, _propTypes) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Watch = undefined;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var Watch = exports.Watch = function Watch(props) {\n return _react2.default.createElement(\n \"svg\",\n {\n width: props.width,\n height: props.height,\n version: \"1.1\",\n id: \"L2\",\n xmlns: \"http://www.w3.org/2000/svg\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 100 100\",\n enableBackground: \"new 0 0 100 100\",\n xmlSpace: \"preserve\",\n \"aria-label\": props.label\n },\n _react2.default.createElement(\"circle\", {\n fill: \"none\",\n stroke: props.color,\n strokeWidth: \"4\",\n strokeMiterlimit: \"10\",\n cx: \"50\",\n cy: \"50\",\n r: \"48\"\n }),\n _react2.default.createElement(\n \"line\",\n {\n fill: \"none\",\n strokeLinecap: \"round\",\n stroke: props.color,\n strokeWidth: \"4\",\n strokeMiterlimit: \"10\",\n x1: \"50\",\n y1: \"50\",\n x2: \"85\",\n y2: \"50.5\"\n },\n _react2.default.createElement(\"animateTransform\", {\n attributeName: \"transform\",\n dur: \"2s\",\n type: \"rotate\",\n from: \"0 50 50\",\n to: \"360 50 50\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"line\",\n {\n fill: \"none\",\n strokeLinecap: \"round\",\n stroke: props.color,\n strokeWidth: \"4\",\n strokeMiterlimit: \"10\",\n x1: \"50\",\n y1: \"50\",\n x2: \"49.5\",\n y2: \"74\"\n },\n _react2.default.createElement(\"animateTransform\", {\n attributeName: \"transform\",\n dur: \"15s\",\n type: \"rotate\",\n from: \"0 50 50\",\n to: \"360 50 50\",\n repeatCount: \"indefinite\"\n })\n )\n );\n };\n\n Watch.propTypes = {\n height: _propTypes2.default.number,\n width: _propTypes2.default.number,\n color: _propTypes2.default.string,\n label: _propTypes2.default.string\n };\n\n Watch.defaultProps = {\n height: 80,\n width: 80,\n color: \"green\",\n label: \"audio-loading\"\n };\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\", \"react\", \"prop-types\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require(\"react\"), require(\"prop-types\"));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes);\n global.Audio = mod.exports;\n }\n})(this, function (exports, _react, _propTypes) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Audio = undefined;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var Audio = exports.Audio = function Audio(props) {\n return _react2.default.createElement(\n \"svg\",\n {\n height: props.height,\n width: props.width,\n fill: props.color,\n viewBox: \"0 0 55 80\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"aria-label\": props.label\n },\n _react2.default.createElement(\n \"g\",\n { transform: \"matrix(1 0 0 -1 0 80)\" },\n _react2.default.createElement(\n \"rect\",\n { width: \"10\", height: \"20\", rx: \"3\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"height\",\n begin: \"0s\",\n dur: \"4.3s\",\n values: \"20;45;57;80;64;32;66;45;64;23;66;13;64;56;34;34;2;23;76;79;20\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"rect\",\n { x: \"15\", width: \"10\", height: \"80\", rx: \"3\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"height\",\n begin: \"0s\",\n dur: \"2s\",\n values: \"80;55;33;5;75;23;73;33;12;14;60;80\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"rect\",\n { x: \"30\", width: \"10\", height: \"50\", rx: \"3\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"height\",\n begin: \"0s\",\n dur: \"1.4s\",\n values: \"50;34;78;23;56;23;34;76;80;54;21;50\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"rect\",\n { x: \"45\", width: \"10\", height: \"30\", rx: \"3\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"height\",\n begin: \"0s\",\n dur: \"2s\",\n values: \"30;45;13;80;56;72;45;76;34;23;67;30\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n )\n )\n );\n };\n\n Audio.propTypes = {\n height: _propTypes2.default.number,\n width: _propTypes2.default.number,\n color: _propTypes2.default.string,\n label: _propTypes2.default.string\n };\n\n Audio.defaultProps = {\n height: 80,\n width: 80,\n color: \"green\",\n label: \"audio-loading\"\n };\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\", \"react\", \"prop-types\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require(\"react\"), require(\"prop-types\"));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes);\n global.BallTriangle = mod.exports;\n }\n})(this, function (exports, _react, _propTypes) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.BallTriangle = undefined;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var BallTriangle = exports.BallTriangle = function BallTriangle(props) {\n return _react2.default.createElement(\n \"svg\",\n {\n height: props.height,\n width: props.width,\n stroke: props.color,\n viewBox: \"0 0 57 57\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"aria-label\": props.label\n },\n _react2.default.createElement(\n \"g\",\n { fill: \"none\", fillRule: \"evenodd\" },\n _react2.default.createElement(\n \"g\",\n { transform: \"translate(1 1)\", strokeWidth: \"2\" },\n _react2.default.createElement(\n \"circle\",\n { cx: \"5\", cy: \"50\", r: \"5\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"cy\",\n begin: \"0s\",\n dur: \"2.2s\",\n values: \"50;5;50;50\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }),\n _react2.default.createElement(\"animate\", {\n attributeName: \"cx\",\n begin: \"0s\",\n dur: \"2.2s\",\n values: \"5;27;49;5\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"circle\",\n { cx: \"27\", cy: \"5\", r: \"5\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"cy\",\n begin: \"0s\",\n dur: \"2.2s\",\n from: \"5\",\n to: \"5\",\n values: \"5;50;50;5\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }),\n _react2.default.createElement(\"animate\", {\n attributeName: \"cx\",\n begin: \"0s\",\n dur: \"2.2s\",\n from: \"27\",\n to: \"27\",\n values: \"27;49;5;27\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"circle\",\n { cx: \"49\", cy: \"50\", r: \"5\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"cy\",\n begin: \"0s\",\n dur: \"2.2s\",\n values: \"50;50;5;50\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }),\n _react2.default.createElement(\"animate\", {\n attributeName: \"cx\",\n from: \"49\",\n to: \"49\",\n begin: \"0s\",\n dur: \"2.2s\",\n values: \"49;5;27;49\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n )\n )\n )\n );\n };\n\n BallTriangle.propTypes = {\n height: _propTypes2.default.number,\n width: _propTypes2.default.number,\n color: _propTypes2.default.string,\n label: _propTypes2.default.string\n };\n\n BallTriangle.defaultProps = {\n height: 80,\n width: 80,\n color: \"green\",\n label: \"audio-loading\"\n };\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\", \"react\", \"prop-types\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require(\"react\"), require(\"prop-types\"));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes);\n global.Bars = mod.exports;\n }\n})(this, function (exports, _react, _propTypes) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Bars = undefined;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var Bars = exports.Bars = function Bars(props) {\n return _react2.default.createElement(\n \"svg\",\n {\n width: props.width,\n height: props.height,\n fill: props.color,\n viewBox: \"0 0 135 140\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"aria-label\": props.label\n },\n _react2.default.createElement(\n \"rect\",\n { y: \"10\", width: \"15\", height: \"120\", rx: \"6\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"height\",\n begin: \"0.5s\",\n dur: \"1s\",\n values: \"120;110;100;90;80;70;60;50;40;140;120\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }),\n _react2.default.createElement(\"animate\", {\n attributeName: \"y\",\n begin: \"0.5s\",\n dur: \"1s\",\n values: \"10;15;20;25;30;35;40;45;50;0;10\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"rect\",\n { x: \"30\", y: \"10\", width: \"15\", height: \"120\", rx: \"6\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"height\",\n begin: \"0.25s\",\n dur: \"1s\",\n values: \"120;110;100;90;80;70;60;50;40;140;120\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }),\n _react2.default.createElement(\"animate\", {\n attributeName: \"y\",\n begin: \"0.25s\",\n dur: \"1s\",\n values: \"10;15;20;25;30;35;40;45;50;0;10\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"rect\",\n { x: \"60\", width: \"15\", height: \"140\", rx: \"6\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"height\",\n begin: \"0s\",\n dur: \"1s\",\n values: \"120;110;100;90;80;70;60;50;40;140;120\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }),\n _react2.default.createElement(\"animate\", {\n attributeName: \"y\",\n begin: \"0s\",\n dur: \"1s\",\n values: \"10;15;20;25;30;35;40;45;50;0;10\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"rect\",\n { x: \"90\", y: \"10\", width: \"15\", height: \"120\", rx: \"6\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"height\",\n begin: \"0.25s\",\n dur: \"1s\",\n values: \"120;110;100;90;80;70;60;50;40;140;120\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }),\n _react2.default.createElement(\"animate\", {\n attributeName: \"y\",\n begin: \"0.25s\",\n dur: \"1s\",\n values: \"10;15;20;25;30;35;40;45;50;0;10\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"rect\",\n { x: \"120\", y: \"10\", width: \"15\", height: \"120\", rx: \"6\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"height\",\n begin: \"0.5s\",\n dur: \"1s\",\n values: \"120;110;100;90;80;70;60;50;40;140;120\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }),\n _react2.default.createElement(\"animate\", {\n attributeName: \"y\",\n begin: \"0.5s\",\n dur: \"1s\",\n values: \"10;15;20;25;30;35;40;45;50;0;10\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n )\n );\n };\n\n Bars.propTypes = {\n height: _propTypes2.default.number,\n width: _propTypes2.default.number,\n color: _propTypes2.default.string,\n label: _propTypes2.default.string\n };\n\n Bars.defaultProps = {\n height: 80,\n width: 80,\n color: \"green\",\n label: \"audio-loading\"\n };\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\", \"react\", \"prop-types\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require(\"react\"), require(\"prop-types\"));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes);\n global.CradleLoader = mod.exports;\n }\n})(this, function (exports, _react, _propTypes) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.CradleLoader = undefined;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var CradleLoader = exports.CradleLoader = function CradleLoader(props) {\n return _react2.default.createElement(\n \"div\",\n { \"aria-label\": props.label, role: \"presentation\", className: \"container\" },\n _react2.default.createElement(\n \"div\",\n { className: \"react-spinner-loader-swing\" },\n _react2.default.createElement(\"div\", { className: \"react-spinner-loader-swing-l\" }),\n _react2.default.createElement(\"div\", null),\n _react2.default.createElement(\"div\", null),\n _react2.default.createElement(\"div\", null),\n _react2.default.createElement(\"div\", null),\n _react2.default.createElement(\"div\", null),\n _react2.default.createElement(\"div\", { className: \"react-spinner-loader-swing-r\" })\n ),\n _react2.default.createElement(\n \"div\",\n { className: \"react-spinner-loader-shadow\" },\n _react2.default.createElement(\"div\", { className: \"react-spinner-loader-shadow-l\" }),\n _react2.default.createElement(\"div\", null),\n _react2.default.createElement(\"div\", null),\n _react2.default.createElement(\"div\", null),\n _react2.default.createElement(\"div\", null),\n _react2.default.createElement(\"div\", null),\n _react2.default.createElement(\"div\", { className: \"react-spinner-loader-shadow-r\" })\n )\n );\n };\n\n CradleLoader.propTypes = {\n label: _propTypes2.default.string\n };\n\n CradleLoader.defaultProps = {\n label: \"audio-loading\"\n };\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\", \"react\", \"prop-types\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require(\"react\"), require(\"prop-types\"));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes);\n global.Grid = mod.exports;\n }\n})(this, function (exports, _react, _propTypes) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Grid = undefined;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var Grid = exports.Grid = function Grid(props) {\n return _react2.default.createElement(\n \"svg\",\n {\n width: props.width,\n height: props.height,\n viewBox: \"0 0 105 105\",\n fill: props.color,\n \"aria-label\": props.label\n },\n _react2.default.createElement(\n \"circle\",\n { cx: \"12.5\", cy: \"12.5\", r: \"12.5\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"fill-opacity\",\n begin: \"0s\",\n dur: \"1s\",\n values: \"1;.2;1\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"circle\",\n { cx: \"12.5\", cy: \"52.5\", r: \"12.5\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"fill-opacity\",\n begin: \"100ms\",\n dur: \"1s\",\n values: \"1;.2;1\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"circle\",\n { cx: \"52.5\", cy: \"12.5\", r: \"12.5\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"fill-opacity\",\n begin: \"300ms\",\n dur: \"1s\",\n values: \"1;.2;1\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"circle\",\n { cx: \"52.5\", cy: \"52.5\", r: \"12.5\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"fill-opacity\",\n begin: \"600ms\",\n dur: \"1s\",\n values: \"1;.2;1\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"circle\",\n { cx: \"92.5\", cy: \"12.5\", r: \"12.5\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"fill-opacity\",\n begin: \"800ms\",\n dur: \"1s\",\n values: \"1;.2;1\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"circle\",\n { cx: \"92.5\", cy: \"52.5\", r: \"12.5\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"fill-opacity\",\n begin: \"400ms\",\n dur: \"1s\",\n values: \"1;.2;1\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"circle\",\n { cx: \"12.5\", cy: \"92.5\", r: \"12.5\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"fill-opacity\",\n begin: \"700ms\",\n dur: \"1s\",\n values: \"1;.2;1\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"circle\",\n { cx: \"52.5\", cy: \"92.5\", r: \"12.5\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"fill-opacity\",\n begin: \"500ms\",\n dur: \"1s\",\n values: \"1;.2;1\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"circle\",\n { cx: \"92.5\", cy: \"92.5\", r: \"12.5\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"fill-opacity\",\n begin: \"200ms\",\n dur: \"1s\",\n values: \"1;.2;1\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n )\n );\n };\n\n Grid.propTypes = {\n height: _propTypes2.default.number,\n width: _propTypes2.default.number,\n color: _propTypes2.default.string,\n label: _propTypes2.default.string\n };\n\n Grid.defaultProps = {\n height: 80,\n width: 80,\n color: \"green\",\n label: \"audio-loading\"\n };\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\", \"react\", \"prop-types\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require(\"react\"), require(\"prop-types\"));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes);\n global.Hearts = mod.exports;\n }\n})(this, function (exports, _react, _propTypes) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Hearts = undefined;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var Hearts = exports.Hearts = function Hearts(props) {\n return _react2.default.createElement(\n \"svg\",\n {\n width: props.width,\n height: props.height,\n viewBox: \"0 0 140 64\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: props.color,\n \"aria-label\": props.label\n },\n _react2.default.createElement(\n \"path\",\n {\n d: \"M30.262 57.02L7.195 40.723c-5.84-3.976-7.56-12.06-3.842-18.063 3.715-6 11.467-7.65 17.306-3.68l4.52 3.76 2.6-5.274c3.717-6.002 11.47-7.65 17.305-3.68 5.84 3.97 7.56 12.054 3.842 18.062L34.49 56.118c-.897 1.512-2.793 1.915-4.228.9z\",\n attributeName: \"fill-opacity\",\n from: \"0\",\n to: \".5\"\n },\n _react2.default.createElement(\"animate\", {\n attributeName: \"fill-opacity\",\n begin: \"0s\",\n dur: \"1.4s\",\n values: \"0.5;1;0.5\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"path\",\n {\n d: \"M105.512 56.12l-14.44-24.272c-3.716-6.008-1.996-14.093 3.843-18.062 5.835-3.97 13.588-2.322 17.306 3.68l2.6 5.274 4.52-3.76c5.84-3.97 13.592-2.32 17.307 3.68 3.718 6.003 1.998 14.088-3.842 18.064L109.74 57.02c-1.434 1.014-3.33.61-4.228-.9z\",\n attributeName: \"fill-opacity\",\n from: \"0\",\n to: \".5\"\n },\n _react2.default.createElement(\"animate\", {\n attributeName: \"fill-opacity\",\n begin: \"0.7s\",\n dur: \"1.4s\",\n values: \"0.5;1;0.5\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\"path\", { d: \"M67.408 57.834l-23.01-24.98c-5.864-6.15-5.864-16.108 0-22.248 5.86-6.14 15.37-6.14 21.234 0L70 16.168l4.368-5.562c5.863-6.14 15.375-6.14 21.235 0 5.863 6.14 5.863 16.098 0 22.247l-23.007 24.98c-1.43 1.556-3.757 1.556-5.188 0z\" })\n );\n };\n\n Hearts.propTypes = {\n height: _propTypes2.default.number,\n width: _propTypes2.default.number,\n color: _propTypes2.default.string,\n label: _propTypes2.default.string\n };\n\n Hearts.defaultProps = {\n height: 80,\n width: 80,\n color: \"green\",\n label: \"audio-loading\"\n };\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\", \"react\", \"prop-types\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require(\"react\"), require(\"prop-types\"));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes);\n global.MutatingDots = mod.exports;\n }\n})(this, function (exports, _react, _propTypes) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.MutatingDots = undefined;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var MutatingDots = exports.MutatingDots = function MutatingDots(props) {\n return _react2.default.createElement(\n \"svg\",\n { id: \"goo-loader\", width: props.width, height: 90, fill: props.color, \"aria-label\": props.label },\n _react2.default.createElement(\n \"filter\",\n { id: \"fancy-goo\" },\n _react2.default.createElement(\"feGaussianBlur\", { \"in\": \"SourceGraphic\", stdDeviation: \"6\", result: \"blur\" }),\n _react2.default.createElement(\"feColorMatrix\", {\n \"in\": \"blur\",\n mode: \"matrix\",\n values: \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 19 -9\",\n result: \"goo\"\n }),\n _react2.default.createElement(\"feComposite\", { \"in\": \"SourceGraphic\", in2: \"goo\", operator: \"atop\" })\n ),\n _react2.default.createElement(\n \"g\",\n { filter: \"url(#fancy-goo)\" },\n _react2.default.createElement(\"animateTransform\", {\n id: \"mainAnim\",\n attributeName: \"transform\",\n attributeType: \"XML\",\n type: \"rotate\",\n from: \"0 50 50\",\n to: \"359 50 50\",\n dur: \"1.2s\",\n repeatCount: \"indefinite\"\n }),\n _react2.default.createElement(\n \"circle\",\n { cx: \"50%\", cy: \"40\", r: \"11\" },\n _react2.default.createElement(\"animate\", {\n id: \"cAnim1\",\n attributeType: \"XML\",\n attributeName: \"cy\",\n dur: \"0.6s\",\n begin: \"0;cAnim1.end+0.2s\",\n calcMode: \"spline\",\n values: \"40;20;40\",\n keyTimes: \"0;0.3;1\",\n keySplines: \"0.175, 0.885, 0.320, 1.5; 0.175, 0.885, 0.320, 1.5\"\n })\n ),\n _react2.default.createElement(\n \"circle\",\n { cx: \"50%\", cy: \"60\", r: \"11\" },\n _react2.default.createElement(\"animate\", {\n id: \"cAnim2\",\n attributeType: \"XML\",\n attributeName: \"cy\",\n dur: \"0.6s\",\n begin: \"0.4s;cAnim2.end+0.2s\",\n calcMode: \"spline\",\n values: \"60;80;60\",\n keyTimes: \"0;0.3;1\",\n keySplines: \"0.175, 0.885, 0.320, 1.5;0.175, 0.885, 0.320, 1.5\"\n })\n )\n )\n );\n };\n\n MutatingDots.propTypes = {\n width: _propTypes2.default.number,\n color: _propTypes2.default.string,\n label: _propTypes2.default.string\n };\n\n MutatingDots.defaultProps = {\n width: 80,\n color: \"green\",\n label: \"audio-loading\"\n };\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\", \"react\", \"prop-types\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require(\"react\"), require(\"prop-types\"));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes);\n global.Oval = mod.exports;\n }\n})(this, function (exports, _react, _propTypes) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Oval = undefined;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var Oval = exports.Oval = function Oval(props) {\n return _react2.default.createElement(\n \"svg\",\n {\n width: props.width,\n height: props.height,\n viewBox: \"0 0 38 38\",\n xmlns: \"http://www.w3.org/2000/svg\",\n stroke: props.color,\n \"aria-label\": props.label\n },\n _react2.default.createElement(\n \"g\",\n { fill: \"none\", fillRule: \"evenodd\" },\n _react2.default.createElement(\n \"g\",\n { transform: \"translate(1 1)\", strokeWidth: \"2\" },\n _react2.default.createElement(\"circle\", { strokeOpacity: \".5\", cx: \"18\", cy: \"18\", r: \"18\" }),\n _react2.default.createElement(\n \"path\",\n { d: \"M36 18c0-9.94-8.06-18-18-18\" },\n _react2.default.createElement(\"animateTransform\", {\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 18 18\",\n to: \"360 18 18\",\n dur: \"1s\",\n repeatCount: \"indefinite\"\n })\n )\n )\n )\n );\n };\n\n Oval.propTypes = {\n height: _propTypes2.default.number,\n width: _propTypes2.default.number,\n color: _propTypes2.default.string,\n label: _propTypes2.default.string\n };\n\n Oval.defaultProps = {\n height: 80,\n width: 80,\n color: \"green\",\n label: \"audio-loading\"\n };\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\", \"react\", \"prop-types\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require(\"react\"), require(\"prop-types\"));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes);\n global.Plane = mod.exports;\n }\n})(this, function (exports, _react, _propTypes) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Plane = undefined;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var Plane = exports.Plane = function Plane(props) {\n return _react2.default.createElement(\n \"svg\",\n {\n className: \"react-spinner-loader-svg-calLoader\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"230\",\n height: \"230\",\n \"aria-label\": props.label\n },\n _react2.default.createElement(\n \"desc\",\n null,\n \"Plane animation. Loading \"\n ),\n _react2.default.createElement(\"path\", {\n className: \"react-spinner-loader-cal-loader__path\",\n style: { stroke: props.secondaryColor },\n d: \"M86.429 40c63.616-20.04 101.511 25.08 107.265 61.93 6.487 41.54-18.593 76.99-50.6 87.643-59.46 19.791-101.262-23.577-107.142-62.616C29.398 83.441 59.945 48.343 86.43 40z\",\n fill: \"none\",\n stroke: \"#0099cc\",\n strokeWidth: \"4\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeDasharray: \"10 10 10 10 10 10 10 432\",\n strokeDashoffset: \"77\"\n }),\n _react2.default.createElement(\"path\", {\n className: \"cal-loader__plane\",\n style: { fill: props.color },\n d: \"M141.493 37.93c-1.087-.927-2.942-2.002-4.32-2.501-2.259-.824-3.252-.955-9.293-1.172-4.017-.146-5.197-.23-5.47-.37-.766-.407-1.526-1.448-7.114-9.773-4.8-7.145-5.344-7.914-6.327-8.976-1.214-1.306-1.396-1.378-3.79-1.473-1.036-.04-2-.043-2.153-.002-.353.1-.87.586-1 .952-.139.399-.076.71.431 2.22.241.72 1.029 3.386 1.742 5.918 1.644 5.844 2.378 8.343 2.863 9.705.206.601.33 1.1.275 1.125-.24.097-10.56 1.066-11.014 1.032a3.532 3.532 0 0 1-1.002-.276l-.487-.246-2.044-2.613c-2.234-2.87-2.228-2.864-3.35-3.309-.717-.287-2.82-.386-3.276-.163-.457.237-.727.644-.737 1.152-.018.39.167.805 1.916 4.373 1.06 2.166 1.964 4.083 1.998 4.27.04.179.004.521-.076.75-.093.228-1.109 2.064-2.269 4.088-1.921 3.34-2.11 3.711-2.123 4.107-.008.25.061.557.168.725.328.512.72.644 1.966.676 1.32.029 2.352-.236 3.05-.762.222-.171 1.275-1.313 2.412-2.611 1.918-2.185 2.048-2.32 2.45-2.505.241-.111.601-.232.82-.271.267-.058 2.213.201 5.912.8 3.036.48 5.525.894 5.518.914 0 .026-.121.306-.27.638-.54 1.198-1.515 3.842-3.35 9.021-1.029 2.913-2.107 5.897-2.4 6.62-.703 1.748-.725 1.833-.594 2.286.137.46.45.833.872 1.012.41.177 3.823.24 4.37.085.852-.25 1.44-.688 2.312-1.724 1.166-1.39 3.169-3.948 6.771-8.661 5.8-7.583 6.561-8.49 7.387-8.702.233-.065 2.828-.056 5.784.011 5.827.138 6.64.09 8.62-.5 2.24-.67 4.035-1.65 5.517-3.016 1.136-1.054 1.135-1.014.207-1.962-.357-.38-.767-.777-.902-.893z\",\n fill: \"#000033\"\n })\n );\n };\n\n Plane.propTypes = {\n secondaryColor: _propTypes2.default.string,\n color: _propTypes2.default.string,\n label: _propTypes2.default\n };\n\n Plane.defaultProps = {\n secondaryColor: \"grey\",\n color: \"#FFA500\",\n label: \"async-loading\"\n };\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\", \"react\", \"prop-types\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require(\"react\"), require(\"prop-types\"));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes);\n global.Puff = mod.exports;\n }\n})(this, function (exports, _react, _propTypes) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Puff = undefined;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var Puff = exports.Puff = function Puff(props) {\n return _react2.default.createElement(\n \"svg\",\n {\n width: props.width,\n height: props.height,\n viewBox: \"0 0 44 44\",\n xmlns: \"http://www.w3.org/2000/svg\",\n stroke: props.color,\n \"aria-label\": props.label\n },\n _react2.default.createElement(\n \"g\",\n { fill: \"none\", fillRule: \"evenodd\", strokeWidth: \"2\" },\n _react2.default.createElement(\n \"circle\",\n { cx: \"22\", cy: \"22\", r: \"1\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"r\",\n begin: \"0s\",\n dur: \"1.8s\",\n values: \"1; 20\",\n calcMode: \"spline\",\n keyTimes: \"0; 1\",\n keySplines: \"0.165, 0.84, 0.44, 1\",\n repeatCount: \"indefinite\"\n }),\n _react2.default.createElement(\"animate\", {\n attributeName: \"strokeOpacity\",\n begin: \"0s\",\n dur: \"1.8s\",\n values: \"1; 0\",\n calcMode: \"spline\",\n keyTimes: \"0; 1\",\n keySplines: \"0.3, 0.61, 0.355, 1\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"circle\",\n { cx: \"22\", cy: \"22\", r: \"1\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"r\",\n begin: \"-0.9s\",\n dur: \"1.8s\",\n values: \"1; 20\",\n calcMode: \"spline\",\n keyTimes: \"0; 1\",\n keySplines: \"0.165, 0.84, 0.44, 1\",\n repeatCount: \"indefinite\"\n }),\n _react2.default.createElement(\"animate\", {\n attributeName: \"strokeOpacity\",\n begin: \"-0.9s\",\n dur: \"1.8s\",\n values: \"1; 0\",\n calcMode: \"spline\",\n keyTimes: \"0; 1\",\n keySplines: \"0.3, 0.61, 0.355, 1\",\n repeatCount: \"indefinite\"\n })\n )\n )\n );\n };\n\n Puff.propTypes = {\n height: _propTypes2.default.number,\n width: _propTypes2.default.number,\n color: _propTypes2.default.string,\n label: _propTypes2.default.string\n };\n\n Puff.defaultProps = {\n height: 80,\n width: 80,\n color: \"green\",\n label: \"audio-loading\"\n };\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\", \"react\", \"prop-types\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require(\"react\"), require(\"prop-types\"));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes);\n global.RevolvingDot = mod.exports;\n }\n})(this, function (exports, _react, _propTypes) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.RevolvingDot = undefined;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var RevolvingDot = exports.RevolvingDot = function RevolvingDot(props) {\n return _react2.default.createElement(\n \"svg\",\n {\n version: \"1.1\",\n width: props.width,\n height: props.height,\n xmlns: \"http://www.w3.org/2000/svg\",\n x: \"0px\",\n y: \"0px\",\n \"aria-label\": props.label\n },\n _react2.default.createElement(\"circle\", {\n fill: \"none\",\n stroke: props.color,\n strokeWidth: \"4\",\n cx: \"50\",\n cy: \"50\",\n r: \"44\",\n style: { opacity: 0.5 }\n }),\n _react2.default.createElement(\n \"circle\",\n { fill: props.color, stroke: props.color, strokeWidth: \"3\", cx: \"8\", cy: \"54\", r: \"6\" },\n _react2.default.createElement(\"animateTransform\", {\n attributeName: \"transform\",\n dur: \"2s\",\n type: \"rotate\",\n from: \"0 50 48\",\n to: \"360 50 52\",\n repeatCount: \"indefinite\"\n })\n )\n );\n };\n\n RevolvingDot.propTypes = {\n height: _propTypes2.default.number,\n width: _propTypes2.default.number,\n color: _propTypes2.default.string,\n label: _propTypes2.default.string\n };\n\n RevolvingDot.defaultProps = {\n height: 80,\n width: 80,\n color: \"green\",\n label: \"audio-loading\"\n };\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\", \"react\", \"prop-types\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require(\"react\"), require(\"prop-types\"));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes);\n global.Rings = mod.exports;\n }\n})(this, function (exports, _react, _propTypes) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Rings = undefined;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var Rings = exports.Rings = function Rings(props) {\n return _react2.default.createElement(\n \"svg\",\n {\n width: props.width,\n height: props.height,\n viewBox: \"0 0 45 45\",\n xmlns: \"http://www.w3.org/2000/svg\",\n stroke: props.color,\n \"aria-label\": props.label\n },\n _react2.default.createElement(\n \"g\",\n { fill: \"none\", fillRule: \"evenodd\", transform: \"translate(1 1)\", strokeWidth: \"2\" },\n _react2.default.createElement(\n \"circle\",\n { cx: \"22\", cy: \"22\", r: \"6\", strokeOpacity: \"0\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"r\",\n begin: \"1.5s\",\n dur: \"3s\",\n values: \"6;22\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }),\n _react2.default.createElement(\"animate\", {\n attributeName: \"stroke-opacity\",\n begin: \"1.5s\",\n dur: \"3s\",\n values: \"1;0\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }),\n _react2.default.createElement(\"animate\", {\n attributeName: \"stroke-width\",\n begin: \"1.5s\",\n dur: \"3s\",\n values: \"2;0\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"circle\",\n { cx: \"22\", cy: \"22\", r: \"6\", strokeOpacity: \"0\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"r\",\n begin: \"3s\",\n dur: \"3s\",\n values: \"6;22\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }),\n _react2.default.createElement(\"animate\", {\n attributeName: \"strokeOpacity\",\n begin: \"3s\",\n dur: \"3s\",\n values: \"1;0\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }),\n _react2.default.createElement(\"animate\", {\n attributeName: \"strokeWidth\",\n begin: \"3s\",\n dur: \"3s\",\n values: \"2;0\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"circle\",\n { cx: \"22\", cy: \"22\", r: \"8\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"r\",\n begin: \"0s\",\n dur: \"1.5s\",\n values: \"6;1;2;3;4;5;6\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n )\n )\n );\n };\n\n Rings.propTypes = {\n height: _propTypes2.default.number,\n width: _propTypes2.default.number,\n color: _propTypes2.default.string,\n label: _propTypes2.default.string\n };\n\n Rings.defaultProps = {\n height: 80,\n width: 80,\n color: \"green\",\n label: \"audio-loading\"\n };\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\", \"react\", \"prop-types\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require(\"react\"), require(\"prop-types\"));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes);\n global.TailSpin = mod.exports;\n }\n})(this, function (exports, _react, _propTypes) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.TailSpin = undefined;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var TailSpin = exports.TailSpin = function TailSpin(props) {\n return _react2.default.createElement(\n \"svg\",\n {\n width: props.width,\n height: props.height,\n viewBox: \"0 0 38 38\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"aria-label\": props.label\n },\n _react2.default.createElement(\n \"defs\",\n null,\n _react2.default.createElement(\n \"linearGradient\",\n { x1: \"8.042%\", y1: \"0%\", x2: \"65.682%\", y2: \"23.865%\", id: \"a\" },\n _react2.default.createElement(\"stop\", { stopColor: props.color, stopOpacity: \"0\", offset: \"0%\" }),\n _react2.default.createElement(\"stop\", { stopColor: props.color, stopOpacity: \".631\", offset: \"63.146%\" }),\n _react2.default.createElement(\"stop\", { stopColor: props.color, offset: \"100%\" })\n )\n ),\n _react2.default.createElement(\n \"g\",\n { fill: \"none\", fillRule: \"evenodd\" },\n _react2.default.createElement(\n \"g\",\n { transform: \"translate(1 1)\" },\n _react2.default.createElement(\n \"path\",\n { d: \"M36 18c0-9.94-8.06-18-18-18\", id: \"Oval-2\", stroke: props.color, strokeWidth: \"2\" },\n _react2.default.createElement(\"animateTransform\", {\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 18 18\",\n to: \"360 18 18\",\n dur: \"0.9s\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"circle\",\n { fill: \"#fff\", cx: \"36\", cy: \"18\", r: \"1\" },\n _react2.default.createElement(\"animateTransform\", {\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 18 18\",\n to: \"360 18 18\",\n dur: \"0.9s\",\n repeatCount: \"indefinite\"\n })\n )\n )\n )\n );\n };\n\n TailSpin.propTypes = {\n height: _propTypes2.default.number,\n width: _propTypes2.default.number,\n color: _propTypes2.default.string,\n label: _propTypes2.default.string\n };\n\n TailSpin.defaultProps = {\n height: 80,\n width: 80,\n color: \"green\",\n label: \"audio-loading\"\n };\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\", \"react\", \"prop-types\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require(\"react\"), require(\"prop-types\"));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes);\n global.ThreeDots = mod.exports;\n }\n})(this, function (exports, _react, _propTypes) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.ThreeDots = undefined;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var ThreeDots = exports.ThreeDots = function ThreeDots(props) {\n return _react2.default.createElement(\n \"svg\",\n {\n width: props.width,\n height: props.height,\n viewBox: \"0 0 120 30\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: props.color,\n \"aria-label\": props.label\n },\n _react2.default.createElement(\n \"circle\",\n { cx: \"15\", cy: \"15\", r: \"15\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"r\",\n from: \"15\",\n to: \"15\",\n begin: \"0s\",\n dur: \"0.8s\",\n values: \"15;9;15\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }),\n _react2.default.createElement(\"animate\", {\n attributeName: \"fillOpacity\",\n from: \"1\",\n to: \"1\",\n begin: \"0s\",\n dur: \"0.8s\",\n values: \"1;.5;1\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"circle\",\n { cx: \"60\", cy: \"15\", r: \"9\", attributeName: \"fillOpacity\", from: \"1\", to: \"0.3\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"r\",\n from: \"9\",\n to: \"9\",\n begin: \"0s\",\n dur: \"0.8s\",\n values: \"9;15;9\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }),\n _react2.default.createElement(\"animate\", {\n attributeName: \"fillOpacity\",\n from: \"0.5\",\n to: \"0.5\",\n begin: \"0s\",\n dur: \"0.8s\",\n values: \".5;1;.5\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n ),\n _react2.default.createElement(\n \"circle\",\n { cx: \"105\", cy: \"15\", r: \"15\" },\n _react2.default.createElement(\"animate\", {\n attributeName: \"r\",\n from: \"15\",\n to: \"15\",\n begin: \"0s\",\n dur: \"0.8s\",\n values: \"15;9;15\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n }),\n _react2.default.createElement(\"animate\", {\n attributeName: \"fillOpacity\",\n from: \"1\",\n to: \"1\",\n begin: \"0s\",\n dur: \"0.8s\",\n values: \"1;.5;1\",\n calcMode: \"linear\",\n repeatCount: \"indefinite\"\n })\n )\n );\n };\n\n ThreeDots.propTypes = {\n height: _propTypes2.default.number,\n width: _propTypes2.default.number,\n color: _propTypes2.default.string,\n label: _propTypes2.default.string\n };\n\n ThreeDots.defaultProps = {\n height: 80,\n width: 80,\n color: \"green\",\n label: \"audio-loading\"\n };\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\", \"react\", \"prop-types\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require(\"react\"), require(\"prop-types\"));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes);\n global.Triangle = mod.exports;\n }\n})(this, function (exports, _react, _propTypes) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Triangle = undefined;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var Triangle = exports.Triangle = function Triangle(props) {\n return _react2.default.createElement(\n \"div\",\n { className: \"react-spinner-loader-svg\" },\n _react2.default.createElement(\n \"svg\",\n {\n id: \"triangle\",\n width: props.width,\n height: props.height,\n viewBox: \"-3 -4 39 39\",\n \"aria-label\": props.label\n },\n _react2.default.createElement(\"polygon\", { fill: \"transparent\", stroke: props.color, strokeWidth: \"1\", points: \"16,0 32,32 0,32\" })\n )\n );\n };\n\n Triangle.propTypes = {\n height: _propTypes2.default.number,\n width: _propTypes2.default.number,\n color: _propTypes2.default.string,\n label: _propTypes2.default.string\n };\n\n Triangle.defaultProps = {\n height: 80,\n width: 80,\n color: \"green\",\n label: \"audio-loading\"\n };\n});","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n"],"sourceRoot":""}